【问题标题】:Including WPF's namespace in an XSD在 XSD 中包含 WPF 的命名空间
【发布时间】:2011-04-14 16:56:30
【问题描述】:

我们有一个自定义 XML 架构,其中可以包含用于定义 WPF 数据模板的 XAML 块。我使用 Visual Studio 2010 的“创建架构”命令根据使用我们架构的示例文档生成 XSD。

生成的架构中的第一行是这样的:

<xs:import namespace="http://schemas.microsoft.com/winfx/2006/xaml/presentation"/>

但是,Visual Studio 会为以下行生成此警告:

“命名空间 'http://schemas.microsoft.com/winfx/2006/xaml/presentation' 的导入架构未解析”

是否需要 XSD 才能使 Microsoft 的 presentation 架构工作?如果是这样,我可以在任何地方下载 WPF 的 XSD(我还没有在 Google 上找到一个)。有没有其他办法解决这个问题?

【问题讨论】:

  • 你为什么不使用一个普通的 xaml 资源字典呢?
  • @Markus,我们希望能够在一个文件中交付客户端的所有配置。我们已经在一个单独的 XIncluded 文件中创作了大量的 DataTemplates,但是将所有一次性模板、样式和其他资源放在单独的文件中是一种拖累

标签: wpf .net-4.0 xsd


【解决方案1】:

如果您使用 xs:import,并希望使用该架构进行验证,则必须提供该 (XAML) 架构。这可以通过不同的方式完成:将文件放在已知文件夹中、使用 URL 或将架构一一加载到 .NET 架构集中。
另一种选择是使用 xs:any 来声明您的 XAML 块,然后您可以选择是否根据 XAML 架构对其进行验证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-02
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 2014-09-06
    • 2011-07-24
    相关资源
    最近更新 更多