2011-04-27 43 views
1

我正在尋找代表不同的但相關的數據類型的集合,並給用戶編輯這些的機會。我無法在網格中表示它們,因爲每種類型都不相同,因此不適用於網格佈局。何時不模板WPF ListBox ...?

例如
Type1 - 屬性From, To, Threshold, Enabled
Type2 - 屬性From, ExecutedPercent, Benchmark, Enabled

這些類型相關但不同的,所以我想創建與沿頂類型的工具欄。當用戶選擇Type1時,我使用ListBox上的自定義ItemTemplate生成UI,對於Type2也是如此。因此,我在運行時交換了ItemTemplate並更改了數據源。

問題:
1.這聽起來像是一種合理的方法嗎?
2.項目模板列表框有意義嗎?
3.我應該考慮模板的其他控件嗎?在我看來,當需要顯示所有項目時,ListBox是關於任何List源的完美候選人。

在此先感謝

回答

1

爲了處理不同類型的項目,你可以使用ItemTemplateSelector這將是更清晰的WPF解決方案。

如果您不需要在列表框在選擇項目只需要顯示的項目,那麼你應該使用ItemsControl代替ListBox

0

所以你不要,你可以使用一個datatemplateselecter必須設置的ItemTemplate當類型切換隻是改變了數據源。