MultiDataTrigger не изменяет свойство IsReadOnly TextBox
Я использую MultiDataTrigger
в несколько строк TextBox
:
<TextBox TextWrapping="Wrap" ScrollViewer.CanContentScroll="True"
FlowDirection="RightToLeft" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto"
Text="{Binding ArabicDescription}" IsReadOnly="True">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=EnableNewEntry}" Value="True" />
<Condition Binding="{Binding Path=AllowArabic}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="IsReadOnly" Value="False" />
<Setter Property="Background" Value="Blue" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
когда EnableNewEntry
а также AllowArabic
стать правдой, TextBox
должен стать только для чтения. Для простого тестирования я также изменил цвет фона. Проблема в IsReadOnly
не меняется где как Background
должным образом меняется.
Я также попробовал следующий сеттер, но он тоже не работает:
<Setter Property="TextBox.IsReadOnly" Value="False" />
Что я делаю неправильно?
Ritesh
1 ответ
Решение
Вы не должны точно устанавливать IsReadolny на True. Используйте MultiDataTrigger, вам уже нужно установить его на false, а другой - на true, когда вы этого хотите, но НЕ УСТАНАВЛИВАЙТЕ ЭТО в свойствах TextBox.