Как изменить стиль обтекания по умолчанию для кнопки в WPF?
Очевидное решение:
<Style x:Key="MyButtonStyle" TargetType="{x:Type Button}">
<Setter Property="TextWrapping" Value="Wrap"></Setter>
</Style>
не работает, потому что Textwrapping здесь, по-видимому, не настраиваемое свойство.
Если я попытаюсь:
<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>
Я только что получил бесполезный ответ от компилятора:
Error 5 After a 'SetterBaseCollection' is in use (sealed), it cannot be modified.
Удаление тега ControlTemplate сохраняет ошибку.
Следующая попытка выдает другую ошибку:
<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.
Я вижу, что могу установить перенос текста для каждой кнопки отдельно, но это довольно глупо. Как я могу сделать это как стиль? Какие магические слова?
И для дальнейшего использования, где я могу найти список этих волшебных слов, чтобы я мог сделать это самостоятельно? Запись MSDN довольно бесполезна, когда я пытаюсь выяснить, какие свойства могут быть установлены установщиком.