專案需要(或者前后端分離的需要),前端我使用了用戶控制元件庫,由后端用代碼加載和控制,
然而用戶控制元件庫沒法指定資源字典,于是在用戶控制元件的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>洗掉,很是麻煩,不知道有沒有更方便的方式,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/2969.html
標籤:WPF
