如果名称空间声明(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"

如果名称空间声明(xmlns)出错会发生什么?

1 -该url只是象征性的。它没有指向一个真实的互联网地址。它可以是"http://whatever.com",只要它与您所引用的程序集中XmlnsDefinition中定义的xml名称空间完全相同,它就仍然可以工作。需要说明的是,它只是一个名字(只是碰巧有一个类似互联网的格式),而不是一个网址。

2 -不,没有办法声明一个项目范围的xmlns。这是我们对微软最大声的抱怨之一,但他们放弃了WPF,转而支持WinRT,所以我不希望有一个修复。