WPF Listbox在运行时更改容器

时间:2012-05-10 13:14:54

标签: c# wpf pixelsense

对于我的项目,我需要一个散点图,但我们称它为不使用表面sdk的人的列表框:),并且它绑定到我的viewmodel中的observable对象集合。根据对象的类型,我使用不同的datatemplate(图像,视频,...)

这些项目的容器默认为listboxitem。

但是有一个特殊的对象,我需要的不仅仅是普通的listboxitem作为容器,所以我创建了我的customlistboxcontainer。如果找到了如何使用该容器:

Have a databound WPF Listbox generate subclassed ListboxItems

但这还不够。我需要在运行时检查添加到集合中的项目,并为其选择正确的容器(listboxitem,customlistboxitem)。我似乎无法得到工作。

有人有这方面的经验吗?

THX,

比约

1 个答案:

答案 0 :(得分:0)

如果您需要为不同类型的项目提供不同的模板,我建议您为ListBox提供DataTemplateSelector。我认为MSDN示例非常清楚如何实现它,但如果您需要进一步的帮助,请告诉我们。

<强>更新 这是另一个让你入门的tutorial