我有一个CustomControl,它派生自ComboBox,我想根据相关数据以粗体、斜体或正常字体显示某些项目。由于没有与之关联的XAML,我无法找到处理这个问题的方法。通过ItemsSource属性将项目绑定到控件,因此每个项目类型只是我的数据对象的Object类型。
有什么想法吗?
有什么想法吗?
DataTemplate
来自定义ComboBox,通过重写ComboBox的ItemTemplate
。<CustomComboBox.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="tbTitle" Text="{Binding Title}"/>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Style}" Value="0">
<Setter TargetName="tbTitle" Property="FontWeight" Value="Bold"/>
</DataTrigger>
<DataTrigger Binding="{Binding Style}" Value="1">
<Setter TargetName="tbTitle" Property="Foreground" Value="Red"/>
<Setter TargetName="tbTitle" Property="FontStyle" Value="Italic"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</CustomComboBox.ItemTemplate>
CustomCombobox
的ItemSource
是一个简单对象集合,其中包含一个字符串属性Title
和一个整数属性Style
。