在Silverlight中设置/呈现ComboBoxItem的最简单方法?

时间:2010-03-22 16:41:21

标签: silverlight combobox

自定义ComboBoxItem的内容显示最简单的方法是什么?我想提供一个字体名称列表,每个项目都用相应的字体绘制 我怀疑我需要像

这样的东西
<TextBlock FontFamily="{TemplateBinding Content}" Text="{TemplateBinding Content}" />

那会去哪里?
我可以为ComboBoxItem创建一个控件模板,并仅将其用于选定的ComboBoxes吗? 谢谢你的任何提示......

1 个答案:

答案 0 :(得分:5)

Silverlight 3没有隐式样式,因此如果您使用ControlTemplate创建样式来完成此操作,则必须将其显式分配给ComboBox。不用担心它会被意外捡起来。

我能够通过ComboBox中的以下XAML实现此目的,绑定到ObservableCollection<string>

<ComboBox.ItemTemplate>
    <DataTemplate>
        <TextBlock FontFamily="{Binding}" Text="{Binding}"/>
    </DataTemplate>
</ComboBox.ItemTemplate>

显然,如果绑定到更复杂的东西,Binding可能需要一个属性名称,但这使我能够以自己的字体看到各种选择。

如果您发现自己重复使用,也可以将其重构为DataTemplate或样式。