2010-02-04 164 views
1

我想將一些WPF數據模板放在一個鬆散的文件中,我可以在UserControl中引用需要的地方。我不希望數據模板在應用程序範圍內(使用app.config),我只希望它是特定於我的庫。 有沒有辦法做到這一點,除了將數據模板放在UserControls中,然後加載UserControl?WPF XAML資源

謝謝。

回答

1

創建一個ResourceDictionary並把它們放在那。然後,您可以加載的ResourceDictionary和訪問使用索引語法所包含的DataTemplates:

DataTemplate myTemplate = (DataTemplate)rd["MyTemplate"]; 

的資源字典是一個XAML文件,你將彙編成資料庫,就像你會與一個用戶控件或窗口。如果您想將模板作爲鬆散的(未編譯的)XAML發佈,那麼您仍然可以使用ResourceDictionary,但需要使用XamlReader從.xaml源文件加載它。

+0

ResourceDictionary似乎無法從類庫中獲得。 – 2010-02-04 11:51:26

+0

使用WPF用戶控件庫模板,並刪除UserControl1。另外,如果你已經有了一個「普通的」類庫項目,並且希望把你的資源放在那裏,做一個Add> New Item> WPF> UserControl,然後進入XAML視圖並將''標籤更改爲' '(並刪除高度和寬度屬性以及默認的''內容),最後進入代碼隱藏並將基類從UserControl更改爲ResourceDictionary。一個kludge的位,但它會讓你在那裏! – itowlson 2010-02-04 20:24:29