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.

Другие вопросы по тегам