1 回答
TA贡献1809条经验 获得超8个赞
您应该编写一个IValueConverter
从您的转换PathState
为相应的System.Windows.Media.Brush
. 使用预定义的Brushes
,除非您需要特殊的东西。
然后在资源中的某个位置实例化值转换器(可以在任何父级别,我仅将其放入ComboBox
本示例中。然后使用转换器将颜色绑定到显示属性。
如果你想要Background
,就在 之内做ItemContainerStyle
。如果你想把Foreground
它放在需要的地方。注意:我的示例设置了 Foreground=Background,你不会看到太多。
<ComboBox>
<ComboBox.Resources>
<local:MyColorConverter x:Key="colorConverter"/>
</ComboBox.Resources>
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding PathID}" Foreground="{Binding PathState,Converter={StaticResource colorConverter}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="Background" Value="{Binding PathState,Converter={StaticResource colorConverter}}"/>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
- 1 回答
- 0 关注
- 107 浏览
添加回答
举报