項目需要(或者前後端分離的需要),前端我使用了用戶控制項庫,由後端用代碼載入和控制。 然而用戶控制項庫沒法指定資源字典,於是在用戶控制項的xaml文件裡面手工添加了資源字典 設計階段方便了,生成dll,被主程式調用的時候,就報錯了,說沒有該資源文件(d1.xaml),研究Pack Url後明白,可以有兩種 ...
項目需要(或者前後端分離的需要),前端我使用了用戶控制項庫,由後端用代碼載入和控制。
然而用戶控制項庫沒法指定資源字典,於是在用戶控制項的xaml文件裡面手工添加了資源字典
<UserControl.Resources>
<ResourceDictionary Source="/d1.xaml"/>
</UserControl.Resources>
<Grid>
<TextBlock FontSize="{DynamicResource FontSizeL}" Text="Hello"/>
</Grid>
設計階段方便了,生成dll,被主程式調用的時候,就報錯了,說沒有該資源文件(d1.xaml),研究Pack Url後明白,可以有兩種辦法解決:
- 在主程式的相應位置導入資源文件,上面的代碼的需要在主程式根目錄下麵有一個d1.xaml文件
- 修改Source
<ResourceDictionary Source="pack://application:,,,/程式集名稱;component/d1.xaml"/>
如果只有一個資源字典,算是解決了。
現在項目需要多語言了,要英文、中文、泰文的了,需要根據需要動態導入資源字典,暈了。
目前的解決方案是,設計階段把資源文件拉進來,手工添加,編譯之前把<UserControl.Resources>刪除,很是麻煩,不知道有沒有更方便的方式。