2012-11-13 38 views
3

如何從同一個DLL中使用ResourceDictionary資源?從Windows 8的DLL中使用ResourceDictionary

基本上我試圖創建一個UI類庫,所有的類都是從Page類派生的。我想保留所有的用戶界面頁面在同一個DLL中。

要從VS2012中看到問題,請創建一個Windows 8庫項目,然後添加項目詳細頁面。現在,如果您從編輯器中打開創建的頁面,則會出現一些錯誤,如「資源」LayoutRootStyle「無法解析」。

回答

0

這只是一個Xaml設計器錯誤,因此不會阻止您的項目建立或運行。
唯一需要的是所有ResourceDictonary都需要被主應用程序App.xaml引用(例如,通過使用<ResourceDictionary Source="/<myLibraryName>/Common/StandardStyles.xaml"/>或創建調用庫中的Init方法來動態添加資源字典)。
Xaml Designer中錯誤的快速解決方法是隻複製庫中的App.xaml/App.xaml.cs文件(但在運行時,主應用程序仍然需要自應用程序以後對所需的ResourceDictionary有一個引用.xaml的庫不會被使用)。
另一個可能性是隻在每個頁面上的ResourceDictionary中添加一個參考,但我相信這將會更加昂貴,因爲它會爲每個頁面創建一個字典實例。

相關問題