Триггер текстового поля WPF для очистки текста
у меня много TextBox
элементы управления, и я пытаюсь написать стиль, который очищает текст свойства , когда управление отключен.
Я не хочу иметь обработчики событий в коде позади.
Я написал:
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Text" Value="{x:Null}" />
</Trigger>
</Style.Triggers>
</Style>
проблема в том, что если поле определено как:
<TextBox Text={Binding Whatever} />
тогда триггер не работает (возможно, потому, что он связан) Как преодолеть эту проблему?
1 ответов
поскольку вы явно устанавливаете текст в текстовом поле, триггер стиля не может перезаписать его. Попробуйте это:
<TextBox>
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Text" Value="{Binding Whatever}" />
<Style.Triggers>
<Trigger Property="IsEnabled"
Value="False">
<Setter Property="Text" Value="{x:Null}" />
</Trigger>
</Style.Triggers>
</Style>
<TextBox.Style>
</TextBox>