如果名称空间声明(xmlns)出错会发生什么?
本文关键字:出错 什么 xmlns 空间 声明 如果 | 更新日期: 2023-09-27 18:14:01
在阅读之前注意:这是一个一般的问题,我选择询问一个特定的扩展,但答案应该是相同的…我猜。
我已经开始在我的项目中实现本地化,我正在使用WPF Localization Extension
库,但我有几个问题:
为了使库工作,需要将此定义添加到每个xaml页面:xmlns:lex="http://wpflocalizeextension.codeplex.com"
我有两个问题:
1. 如果URL因为某种未知的原因失效了怎么办?我的应用程序会失去所有的扩展的功能吗?是否有一个选项可以避免使用url,而是使用一些本地文件或其他东西…?
2. 我用的是口径。显然,我的应用程序有几个页面,它们都通过ContentControl
嵌入到ShellView.xaml
页面中。是否有一个选项来编写命名空间声明(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"
1 -该url只是象征性的。它没有指向一个真实的互联网地址。它可以是"http://whatever.com",只要它与您所引用的程序集中XmlnsDefinition
中定义的xml名称空间完全相同,它就仍然可以工作。需要说明的是,它只是一个名字(只是碰巧有一个类似互联网的格式),而不是一个网址。
2 -不,没有办法声明一个项目范围的xmlns
。这是我们对微软最大声的抱怨之一,但他们放弃了WPF,转而支持WinRT,所以我不希望有一个修复。