掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
WPF動態(tài)資源是一個比較龐大的數(shù)據(jù)資源。在這里我們就以一個范例為大家介紹一下有關(guān)WPF動態(tài)資源的相關(guān)應(yīng)用方法,希望對大家有所幫助。#t#

10余年的吉安網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整吉安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“吉安網(wǎng)站設(shè)計”,“吉安網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
剛好公司在進行一個WPF的內(nèi)部項目,今天我的任務(wù)是讓整個應(yīng)用支持多語言(全球化)。我使用了WPF動態(tài)資源來存放mutil language數(shù)據(jù)。
resource文件如下:
對于各個業(yè)務(wù)組件的全球化十分簡單,如
但是對于主窗體來說,菜單是要通過讀取各個業(yè)務(wù)組件的CustomAttribute來創(chuàng)建的。起初,我用的方法是直接從應(yīng)用程序的WPF動態(tài)資源里找到對應(yīng)的串。
(string)Application.Current.Resources.MergedDictionaries[0][key] 但是問題隨之而來,當(dāng)我切換language resource文件時,菜單上的內(nèi)容并不會自動更新。既然WPF都用了DataBinding功能,總不能還用代碼去更新菜單項吧。這違背了我們程序員的原則!
查閱了相關(guān)書籍,終于找到了WPF動態(tài)資源解決的方案,使用UIElement對象的SetResourceReference方法來實現(xiàn){DynamicResource XXXX}的功能:
- item = new MenuItem();
- item.SetResourceReference
(MenuItem.HeaderProperty, key);- this.menuMain.Items.Add(item);

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流