ListBox模板:如何创建公共模板但仍然根据项目更改内容

时间:2011-04-22 19:46:50

标签: wpf listbox

我一直在WPF中模仿ListBoxes,但我想知道是否有一种方法可以为ListBoxItem创建一个模板,该模板将应用于ListBox中的所有项目,但是还有一个ItemTemplateSelector来改变内容容器。

我有一个字符串和图像列表,我想要唯一地显示它们,以便图像显示一个框架,字符串显示在要编辑的文本框中。我创建了一个ItemTemplateSelector并根据类型选择模板。但是我想添加一些控件,比如要删除的按钮和用于显示两个模板选择的复选框。

我知道我可以将两个对象添加到字符串或图像的两个模板中,但我希望它能够扩展,而不是每次添加模板时都必须添加。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用ItemContainerStyle覆盖Template的{​​{1}}(可能不是我会做的事情)。

或者,您可以定义一个ListBoxItems,使用ItemTemplate来构建您的模板,例如

ContentControl