我有一個ObservableCollection<Object1>
類型(Messages
在下面的代碼中),這是綁定到ItemsControl
。 Object1有兩個屬性,即ErrMsg
和IsError
。如果其錯誤(即,如果IsError
爲真),則我想以紅色顯示ErrMsg
,否則爲黑色。Textblock樣式dataTrigger不在裏面ItemsControl
<ItemsControl
Height="Auto"
Background="White"
ItemsSource="{Binding Messages}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock
Margin="5,0,0,0"
Text="{Binding ErrMsg}"
Width="Auto"
Foreground="Black">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger
Binding="{Binding IsError}"
Value="true">
<Setter
Property="TextBlock.Foreground"
Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
問題是,所有的消息都始終顯示在黑色的顏色,不論IsError
價值?
我該如何做到這一點?