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


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

然而用戶控件庫沒法指定資源字典,於是在用戶控件的xaml文件里面手工添加了資源字典

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

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

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

如果只有一個資源字典,算是解決了。

現在項目需要多語言了,要英文、中文、泰文的了,需要根據需要動態導入資源字典,暈了。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM