在阅读之前注意:这是一个普遍的问题,我选择询问特定的扩展名,但答案应该是相同的......我猜。
我已经开始在我的项目中实现本地化,我正在使用WPF Localization Extension
lib,但我有几个问题:
为了使lib工作,需要将此定义添加到每个xaml页面:
xmlns:lex="http://wpflocalizeextension.codeplex.com"
我有两个问题:
1.如果网址因某些未知原因而消失怎么办?我的应用程序会失去所有扩展程序的功能吗?是否有人选择避免使用网址,而是使用某些本地文件或其他东西......?
2.我正在使用calibrun.micro,显然我的应用程序有几页,它们都通过ShellView.xaml
嵌入ContentControl
页面。是否有选项可以在shellview中编写命名空间声明(xmlns:lex等等 - 请参阅下面的代码)并让它自动影响所有其他页面?在每个单一的xaml页面中指定声明听起来效率非常低。
额外信息:
扩展页面:http://wpflocalizeextension.codeplex.com/
命名空间声明/定义:
xmlns:lex="http://wpflocalizeextension.codeplex.com"
lex:LocalizeDictionary.DesignCulture="en"
lex:ResxLocalizationProvider.DefaultAssembly="WpfApplication3"
lex:ResxLocalizationProvider.DefaultDictionary="Strings"
答案 0 :(得分:3)
1 - 该网址只是象征性的。它没有指向实际的互联网地址。它可以是“http://whatever.com”,只要它与您所指的程序集中XmlnsDefinition
中定义的xml名称空间完全相同,它仍然可以工作。
要清楚,它只是一个名称(恰好有类似互联网的格式),而不是网站地址。
2 - 不,没有办法宣布项目范围xmlns
。这是我们对微软抱怨的最大抱怨之一,但他们放弃了WPF,或者放弃了WinRT,所以我不希望得到修复。