我在多行TextBox中使用MultiDataTrigger
<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将变为只读。为了测试,我也改变了背景颜色。问题是,当Background发生变化时,IsReadOnly并没有相应地发生变化。
我也尝试了一下setter,但也不起作用:
<Setter Property="TextBox.IsReadOnly" Value="False" />我做错了什么?
Ritesh
发布于 2013-01-12 01:01:56
不应将IsReadolny显式设置为True使用MultiDataTrigger您必须将其设置为false,并在需要时使用另一个将其设置为true,但不要在TextBox属性中设置它
https://stackoverflow.com/questions/14282984
复制相似问题