189 8069 5689

WPF动态资源使用方法介绍

WPF动态资源是一个比较庞大的数据资源。在这里我们就以一个范例为大家介绍一下有关WPF动态资源的相关应用方法,希望对大家有所帮助。#t#

10余年的吉安网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整吉安建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“吉安网站设计”,“吉安网站推广”以来,每个客户项目都认真落实执行。

刚好公司在进行一个WPF的内部项目,今天我的任务是让整个应用支持多语言(全球化)。我使用了WPF动态资源来存放mutil language数据。

resource文件如下:

  1.  xmlns="http:
    //schemas.microsoft.com/winfx/
    2006/xaml/presentation" 
  2. xmlns:x="http://schemas.microsoft.
    com/winfx/2006/xaml" xmlns:sys=
    "clr-namespace:System;assembly
    =mscorlib"> 
  3.  x:Key="AllNews"> 
  4. 所有  
  5.  
  6.  x:Key="China"> 
  7. 中国  
  8.  
  9.  x:Key="World"> 
  10. 世界  
  11.  
  12.  x:Key="News"> 
  13. 新闻  
  14.  
  15.  x:Key="Other"> 
  16. 其他  
  17.  
  18.  

对于各个业务组件的全球化十分简单,如

 
 
 
  1. Width="75" Click="Button_Click" 
  2. Content="{DynamicResource China}">  

但是对于主窗体来说,菜单是要通过读取各个业务组件的CustomAttribute来创建的。起初,我用的方法是直接从应用程序的WPF动态资源里找到对应的串。

(string)Application.Current.Resources.MergedDictionaries[0][key] 但是问题随之而来,当我切换language resource文件时,菜单上的内容并不会自动更新。既然WPF都用了DataBinding功能,总不能还用代码去更新菜单项吧。这违背了我们程序员的原则!

查阅了相关书籍,终于找到了WPF动态资源解决的方案,使用UIElement对象的SetResourceReference方法来实现{DynamicResource XXXX}的功能:

 
 
 
  1. item = new MenuItem();  
  2. item.SetResourceReference
    (MenuItem.HeaderProperty, key);  
  3. this.menuMain.Items.Add(item); 

新闻标题:WPF动态资源使用方法介绍
分享地址:http://cdxtjz.cn/article/cdeohgh.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。