我一直堅持試圖重用我的WPF應用程序的佈局代碼。重新使用綁定的WPF佈局XAML?
我試圖讓一個XML編輯器,讓你打開多個文件(通過標籤)。
我的情況是這樣的:
<TabControl>
<TabItem>
// Layout XAML with various {Binding} sources (File 1)
</TabItem>
<TabItem>
// Layout XAML with various {Binding} sources (File 2)
</TabItem>
<TabItem>
// Layout XAML with various {Binding} sources (File 3)
</TabItem>
</TabControl>
這工作;然而,三個TabItems中的每一個都是大量拷貝&粘貼的代碼,只更改了一些名稱以避免重複的名稱。
我想重寫代碼以這樣的方式,這樣的事情是可能的:
<TabControl>
<TabItem>
// Reference to Template
</TabItem>
<TabItem>
// Reference to Template
</TabItem>
<TabItem>
// Reference to Template
</TabItem>
</TabControl>
而且有模板定義別處。
我試圖用一個的DataTemplate爲模板,和的ContentTemplate它分配給每個的TabItem,但雖然佈局正確顯示,所有的{}綁定了丟失。
我已經廣泛搜索,但一直沒能弄清楚我應該如何接近這一點。
我將非常感謝任何鏈接到演示,將顯示如何實現綁定,而無需複製&粘貼代碼。
我也希望提供調試失敗綁定的任何提示,除非在工作之前嘗試。 (我很喜歡用調試器調試C#,但不知道如何檢查XAML的東西)
在此先感謝!
你是什麼意思,綁定失去了?數據模板化將不會刪除綁定字符串(請參閱'ItemTemplate'的每個用法) – BradleyDotNET 2014-09-25 17:37:27
我在TabControl外部有一個XmlDataProvider。在TabControl中,我有一些東西,如ItemsSource =「{Binding}。當我運行程序時,如果我使用模板,數據不會顯示在屏幕上 – Brent 2014-09-25 17:38:38
@Brent你最好是包裝製表符行爲它自己的視圖模型 – Crono 2014-09-25 17:40:49