2010-10-22 87 views
0

我有以下場景: WPF Treeview顯示自定義對象,每個自定義對象都包含子對象列表。 所以問題是: 每個自定義對象都是由組合框控制的,它可以將當前對象從Class A更改爲Class B/C/D,反之亦然。類A-D是超類的所有子類。 目前爲止這麼好。每個類都應該由WPF樹視圖中的特定數據模板表示,因此每當用戶更改對象類(使用內聯組合)時,該項目應該會應用一個新模板。 到目前爲止,我已經試過:WPF c#在對象類發生變化時動態切換Itemtemplate

  1. 的DataTemplate選擇器類(只獲取在啓動應用)的樹狀
  2. 「歸零」 DatatemplateSelector和對象的變化(太慢)
  3. 的DataTemplate按類(後reappling它x:Type)(工作,但我需要三個不同的模板每個對象,一個圖形,一個最小,一個最大顯示寬度與額外的TextBlocks)
  4. Datatrigger(我不知道如何將它綁定到更改的類)

可能是某種系統性錯誤。你的幫助是非常讚賞

電賀

馬庫斯

+0

我會選擇3.這是最可靠的 – Dbl 2016-05-24 14:20:03

回答

0

最後的解決方案是最好的方式(在數據類型DataTemplate中),但在你的DataTemplate內容設置爲一個ContentControl中使用的風格datatrigger屬性。根據您的觸發條件重寫控件模板。或者你可能想考慮一個hierarchicaldatatemplate。

相關問題