2012-10-17 19 views
5

我的應用程序項目(.exe)中有一個WPF自定義控件MyControl.cs,其樣式在資源字典MyControlResources.xaml中。這個xaml作爲合併字典的一部分在app.xaml中指定。一切正常。如何爲DLL中的自定義控件分配資源字典

現在我想將此自定義控件移動到應用程序引用的現有DLL項目中。有沒有一種方法可以在DLL中創建資源字典「賦值」,並使其對調用者透明,即應用程序項目可以像使用任何內置控件一樣使用它,而不需要您瞭解有關資源字典的任何內容?

我已閱讀關於創建一個新的自定義控件項目可以做的伎倆,但它只是一個控件,我不想創建一個新的項目。任何人都知道如何在現有的類庫DLL中做到這一點?

回答

2

This answer幫我找到了訣竅。

  1. 創建一個名爲Themes\Generic.xaml的文件來合併資源字典。

  2. 添加以下的屬性到Assembly.cs

    [組件:ThemeInfo(ResourceDictionaryLocation.None,ResourceDictionaryLocation.SourceAssembly)]

相關問題