我在XAML中定义了一个TextBox
控件,我想根据其IsReadOnly或IsEnabled属性将不同的背景颜色应用于TextBox
。我用dataTriggers实际颜色之间进行切换,如下所示:WPF中的用法DataTrigger
<Style x:Key="TextBoxStyle" TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding IsEnabled}" Value="True">
<Setter Property="TextBox.Background" Value="Yellow"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsReadOnly}" Value="True">
<Setter Property="TextBox.Background" Value="Red"/>
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsReadOnly}" Value="True"/>
<Condition Binding="{Binding IsEnabled}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Green"/>
</MultiDataTrigger>
</Style.Triggers>
</Style>
而文本框被定义为如下所示:
<TextBox Name="sourceTextBox" Margin="5,3,5,3" IsReadOnly="True" Style="{StaticResource TextBoxStyle}" />
但问题是,颜色没有被正确地应用。
上述方法有问题吗?
5年。但是不错。谢谢。 – 2016-05-10 09:58:39