Свойство TextWrapping
- это свойство зависимости, определенное для TextBlock
. Вы не можете установить его на другой тип. Когда вы попытаетесь применить его к Border
, вы, скорее всего, получите такую ошибку.
Локальное свойство TextWrapping может применяться только к типам, производным от TextBlock
Однако, согласно документации , есть вероятность, что это работает, но это неопределенное поведение, и вам не следует использовать это поведение или полагаться на него.
[...] Хотя может показаться, что наследование значений свойств работает для непривязанных свойств зависимостей, поведение наследования для неприсоединенного свойства через определенные границы элементов в дереве времени выполнения не определено. [...]
Он работает для других свойств TextBlock
в вашем стиле, потому что они определены как прикрепленные свойства , которые могут быть применяется к любому элементу, но TextWrapping
не применяется.
[...] Регистрация присоединенного свойства фактически делает присоединенное свойство глобальным свойством в системе свойств и гарантирует наследование значения свойства работает через все границы в дереве элементов. [...]
Создайте стиль только для TextBlock
, где вы определяете TextWrapping
и применяете его к TextBlock
s.
<Style x:Key="GridCellTextBlockStyle"
TargetType="{x:Type TextBlock}"
BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="TextWrapping" Value="Wrap"/>
</Style>
<Border Grid.Row="0"
Grid.Column="0"
Style="{StaticResource GridCell}">
<TextBlock Text="This text is wrapped" Style="{StaticResource GridCellTextBlockStyle}"/>
</Border>