什么时候不模板WPF ListBox ...?

时间:2011-04-27 16:55:18

标签: wpf templates listbox

我希望代表一系列不同但相关的数据类型,并为用户提供编辑这些数据类型的机会。我无法在网格中表示它们,因为每种类型都不同,因此不适合网格布局。

e.g。
Type1 - 属性为From, To, Threshold, Enabled
Type2 - 属性为From, ExecutedPercent, Benchmark, Enabled

这些类型是相关但不同的,所以我想创建一个工具栏,其中的类型位于顶部。当用户选择Type1时,我使用ListBox上的自定义ItemTemplate生成UI,对于Type2也是如此。因此,我在运行时交换ItemTemplate并更改数据源。

问题:
这听起来像是一种合理的做法吗? 2.项目模板ListBox是否有意义?
3.在这里我是否应该考虑模板的其他控件?在我看来,当需要显示所有项目时,ListBox是任何类型的List源的完美候选者。

提前致谢

2 个答案:

答案 0 :(得分:1)

为了处理不同类型的项目,您可以使用ItemTemplateSelector,这将是更清晰的WPF解决方案。

如果您不需要在列表框中选择项目而只需要显示项目,那么您应该使用ItemsControl代替ListBox

答案 1 :(得分:0)

您可以使用datatemplateselector,这样您就不必在切换类型时设置itemtemplate只需更改数据源。

相关问题