[WPF 學習] 3.用戶控件庫使用資源字典的困惑

項目須要(或者先後端分離的須要),前端我使用了用戶控件庫,由後端用代碼加載和控制。前端

然而用戶控件庫無法指定資源字典,因而在用戶控件的xaml文件裏面手工添加了資源字典後端

<UserControl.Resources>
        <ResourceDictionary Source="/d1.xaml"/>
    </UserControl.Resources>
    <Grid>
        <TextBlock FontSize="{DynamicResource FontSizeL}" Text="Hello"/>
    </Grid>

設計階段方便了,生成dll,被主程序調用的時候,就報錯了,說沒有該資源文件(d1.xaml),研究Pack Url後明白,能夠有兩種辦法解決:app

  1. 在主程序的相應位置導入資源文件,上面的代碼的須要在主程序根目錄下面有一個d1.xaml文件
  2. 修改Source
<ResourceDictionary Source="pack://application:,,,/程序集名稱;component/d1.xaml"/>

若是隻有一個資源字典,算是解決了。前後端分離

如今項目須要多語言了,要英文、中文、泰文的了,須要根據須要動態導入資源字典,暈了。設計

目前的解決方案是,設計階段把資源文件拉進來,手工添加,編譯以前把<UserControl.Resources>刪除,非常麻煩,不知道有沒有更方便的方式。code

相關文章
相關標籤/搜索