【问题标题】:Why can a WPF/Silerlight XAML file parse without the default namespace?为什么可以在没有默认命名空间的情况下解析 WPF/Silerlight XAML 文件?
【发布时间】:2009-02-12 08:38:42
【问题描述】:

我读到“默认命名空间很重要,否则 XAML 解析器将无法识别元素”。

然而,作为一个测试,我把它拿出来,虽然视觉设计师不能再识别元素名称,但这个 Silverlight XAML 运行得很好:

<UserControl x:Class="Second12.Page"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width="400" Height="300">
    <Grid x:Name="LayoutRoot" Background="White">
        <TextBlock Text="This is a test."/>
    </Grid>
</UserControl>

这是为什么呢?

【问题讨论】:

    标签: silverlight namespaces


    【解决方案1】:

    我认为 Silverlight 解析器默认回退到 WPF silverlight 解析是合理的。

    如果您使用了 Silverlight 解析器不支持的 wf xaml 甚至 WPF xaml,您会收到错误。

    我会看看让命名空间向前发展的重要性。

    XAML 是 WPF 目前支持的一种语言,Silverlight 使用 WPF 的子集,WF 和 WCF 中的一点点。现在每个人都有自己的解析器。

    使用 .net 4.0 会有 system.xaml.dll 或类似的东西。命名空间将意味着更多,因为它将进一步指导解析器。 WPF、WF 和 WCF 都将使用该解析器,并且猜测未来的 silverlight 将使用它。

    编辑,主要是顶级命名空间用于以解析器为每个组编写的方式提供智能感知模式。

    【讨论】:

      【解决方案2】:

      也许这句话应该读作“不应该承认”。在没有默认命名空间定义的情况下,XAML 解析器假设无名称命名空间包含 XAML 元素,这似乎是一个合理的后备位置。

      【讨论】:

        猜你喜欢
        • 2014-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多