【发布时间】:2010-06-05 21:20:54
【问题描述】:
我听说我可以创建一个混合类型的集合,并为每种类型使用不同的数据模板。我如何为 ListBox 做到这一点?
【问题讨论】:
我听说我可以创建一个混合类型的集合,并为每种类型使用不同的数据模板。我如何为 ListBox 做到这一点?
【问题讨论】:
ListBox 的ItemTemplateSelector 属性是专门为此而设计的。
【讨论】:
而且你需要一个继承自DataTemplateSelector的类,然后重写SelectTemplate方法:
public class SomeTemplateSelector:DataTemplateSelector
{
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
if(((YourDataContextClass)item).SomeLogic)
return FirstTemplate;
else
return OtherTemplate;
}
}
【讨论】: