Làm cách nào để thay đổi kiểu văn bản mặc định của một nút trong WPF?Nút WPF kiểu textwrap
Các giải pháp rõ ràng:
<Style x:Key="MyButtonStyle" TargetType="{x:Type Button}">
<Setter Property="TextWrapping" Value="Wrap"></Setter>
</Style>
không hoạt động, vì Textwrapping không phải là một tài sản settable đây, rõ ràng.
Nếu tôi cố gắng:
<Style x:Key="MyButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<TextBlock Text="{Binding}" Foreground="White" FontSize="20" FontFamily="Global User Interface" TextWrapping="Wrap"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
tôi chỉ nhận được một câu trả lời vô giá trị từ trình biên dịch:
Error 5 After a 'SetterBaseCollection' is in use (sealed), it cannot be modified.
Loại bỏ các thẻ ControlTemplate giữ lỗi.
Nỗ lực sau mang lại một lỗi khác nhau:
<Setter Property="TextBlock">
<TextBlock Text="{Binding}" Foreground="White" FontSize="20" FontFamily="Global User Interface" TextWrapping="Wrap"/>
</Setter>
Error 5 The type 'Setter' does not support direct content.
tôi thấy rằng tôi có thể thiết lập các textwrapping cho từng nút riêng biệt, nhưng đó là khá ngu si. Làm thế nào tôi có thể làm điều đó như một phong cách? Từ ma thuật là gì?
Và để tham khảo trong tương lai, tôi có thể tìm danh sách các từ kỳ diệu này ở đâu, vì vậy tôi có thể tự làm điều này? Các mục MSDN là khá vô ích khi tôi cố gắng tìm hiểu về những thuộc tính có thể được thiết lập bởi setter.
Không, đó là những lời kỳ diệu. Trong trường hợp này, các từ ma thuật là "TemplateBinding Content". Cảm ơn vì đã cho tôi biết. – mmr