にバインドされたObservableCollection<Object1>
タイプ(Messages
以下のコード)があります。 Object1は、2つのプロパティ、すなわちErrMsg
とIsError
を持っています。 ErrMsg
を赤色で表示するには、エラー(つまり、がtrueの場合)、そうでない場合は黒色にします。TextblockスタイルdataTriggerがItemControl内で機能しない
<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
値に関係なく、ブラック色で表示されているということでしょうか?
どうすればこの問題を解決できますか?