WPF應用程式使用資源及多語言設定學習 2

2022-03-22 12:44:39 字數 2394 閱讀 4315

wpf資源

wpf資源使用其實的也是resources格式嵌入資源,預設的資源名稱為"應用程式名.g.resources

",不過wpf資源使用的pack uri來訪問資源。

新增影象資源

在解決方案資源管理器中包含乙個影象資源(如data\img.png)的時候,預設是輸出為資源檔案的(生成操作=resource),編譯的時候作為資源編譯到程式集中;

當在img.png的屬性頁中把"生成操作"屬性設定為"內容",同時設定"複製到輸出目錄"屬性為"如果較新則複製",則輸出為內容檔案,data\img.png會複製乙份到程式集輸出目錄,這樣無需編譯就可以修改資源檔案了。

在資源字典中使用字串

resoucedictionary中可以新增各種型別資源,使用如下方法來儲存字串到資源字典中。資源字典預設情況下會被編譯成baml儲存到"應用程式名.g.resources

"資源中,也可以修改輸出為內容檔案方法同上。

資源字典的xaml**:

<

resourcedictionary 

xmlns

=""xmlns:x

=""xmlns:sys

="clr-namespace:system;assembly=mscorlib"

>

<

sys:string 

x:key

="rdstring1"

>

resource dictionary string.

sys:string

>

resourcedictionary

>

mergeddictionaries

<

xmlns

=""xmlns:x

=""x:class

>

<

>

<

resourcedictionary

>

<

resourcedictionary.mergeddictionaries

>

<

resourcedictionary 

source

="dictionary1.xaml"

/>

resourcedictionary.mergeddictionaries

>

resourcedictionary

>

>

>

xaml**中使用此字串:

<

label 

content=""

name

="label8"

/>

**中使用此字串:

string

msg=

(string

"rdstring1");

messagebox.show(msg);

引導程式集中的wpf資源

先準備乙個wpf資源類庫:新建乙個程式集,預設建立的東西都刪掉,新增上面的資源字典dictionary1.xaml到類庫中,編譯為classlibrary1.dll,使用reflector工具檢查發現這個類庫中資源名為:classlibrary1.g.resources,內容為dictionary1.baml,ok準備完畢。

載入**(相對uri):

var uri 

=new

uri(

"/classlibrary1;component/dictionary1.xaml

", urikind.relative);

var res 

=載入**(絕對uri):

var uri 

=new

uri(""

);resourcedictionary res 

=new

resourcedictionary {source 

=在xaml中直接載入:

<

xmlns

=""xmlns:x

=""x:class

>

<

>

<

resourcedictionary

>

<

resourcedictionary.mergeddictionaries

>

<

resourcedictionary 

source

/>

resourcedictionary.mergeddictionaries

>

resourcedictionary

>

>

>

使用資源方法同上,注意,後載入的資源會替換掉已有資源中相同名字的資源。

WPF應用程式使用資源及多語言設定學習 3

stringtable資源 有時候又大量的字串資源需要建立,string table檔案則是建立此資源的快捷方式。stringtable內容是乙個文字檔案,內容格式為key value r n 如下所示 然後把副檔名修改為.restext,編碼為utf 8,這裡命名為data strings.res...

Window Forms應用程式多語言支援

最近有想法準備研究一下可以實時切換而且方便更改的多國語言的應用程式,在網路上搜尋了一些資料,參考了msdn的一些資料,最終做出乙個簡單的類用於多語言支援。注 該思路和類參考了 c 的windows程式設計中多語言的實現 一文,對其作者表示感謝。另外順便鄙視一下那些胡亂 的 連作者名字都給胡亂換了!基...

WPF應用程式資源

資源是可以替換應用程式的不同位置重用的物件。wpf 支援資源具有不同的型別。這些資源是資源的主要兩種型別 xaml 資源和資源資料檔案。xaml 資源的示例包括畫筆和樣式。資源資料檔案是應用程式所需的不可執行的資料檔案。xaml 資源的示例包括畫筆和樣式。首先我們看一下在xaml中如何使用資源 在下...