我在多行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,但它也不起作用:
<Setter Property="TextBox.IsReadOnly" Value="False" />
我做错了什么?
仅限Ritesh
答案 0 :(得分:1)
你不应该明确地将IsReadolny设置为True 使用你已经拥有的MultiDataTrigger将其设置为false,另一个将它设置为true,只要你想要它但不要在TextBox属性中设置它