日期:2014-05-17  浏览次数:20784 次

WPF,帮忙看下这段代码

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Luna" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
<ControlTemplate x:Key="ButtonControlTemplate1" TargetType="{x:Type Button}">
        </ControlTemplate>
</ResourceDictionary


上面的代码定义的资源字典中,除了前2个引用标准的命名空间之外,后面4个是什么意思呢?

------解决方案--------------------
xmlns:都是用来定义命名空间的,因此后面3个也是命名空间,来自其它类库。
而mc:Ignorable指定标记文件中遇到的哪些 XML 命名空间前缀可以被 XAML 处理器忽略,这里指定d前缀可以被忽略,也就是如果<d:xxx />标签解析发生错误的时候,该标签可以被忽略处理。
------解决方案--------------------
用来定义命名空间的,就如C#代码中的using语句一样的,定义了命名空间后,后面就可以使用该命名空间下的控件