我希望代表一系列不同但相关的数据类型,并为用户提供编辑这些数据类型的机会。我无法在网格中表示它们,因为每种类型都不同,因此不适合网格布局。
e.g。
Type1
- 属性为From, To, Threshold, Enabled
Type2
- 属性为From, ExecutedPercent, Benchmark, Enabled
等
这些类型是相关但不同的,所以我想创建一个工具栏,其中的类型位于顶部。当用户选择Type1时,我使用ListBox上的自定义ItemTemplate生成UI,对于Type2也是如此。因此,我在运行时交换ItemTemplate并更改数据源。
问题:
这听起来像是一种合理的做法吗?
2.项目模板ListBox是否有意义?
3.在这里我是否应该考虑模板的其他控件?在我看来,当需要显示所有项目时,ListBox是任何类型的List源的完美候选者。
提前致谢
答案 0 :(得分:1)
为了处理不同类型的项目,您可以使用ItemTemplateSelector,这将是更清晰的WPF解决方案。
如果您不需要在列表框中选择项目而只需要显示项目,那么您应该使用ItemsControl
代替ListBox
答案 1 :(得分:0)
您可以使用datatemplateselector,这样您就不必在切换类型时设置itemtemplate只需更改数据源。