我有一个从ComboBox派生的CustomControl,我想用粗体文本显示某些项目,有些用Italic和一些正常,取决于相关数据.由于没有与此相关的XAML,我无法找到处理此问题的方法.这些项是通过ItemsSource属性到控件的DataBound,因此每个项类型只是我的数据对象的Object类型.
有任何想法吗?
您可以使用DataTemplate覆盖ComboBox的自定义ComboBoxItemTemplate
<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>
Run Code Online (Sandbox Code Playgroud)
的CustomCombobox的的ItemSource是集合与字符串属性的简单对象Title和一个int属性Style
| 归档时间: |
|
| 查看次数: |
10266 次 |
| 最近记录: |