XAML的命名空间

简介: 原文:XAML的命名空间 一个最简单的XAML例子   xmlns特征的语法格式如下:xmlns[:可选的映射前缀]="名称空间" xmlns后可以跟一个可选的映射前缀,之间用冒号分隔,如果没有写可选映射前缀,就意味着所有来自这个名称空间的标签都不用加前缀,这个没有映射前缀的名称空间称为“默认名称空间”,默认名称空间只能有一个。
原文: XAML的命名空间

一个最简单的XAML例子

 

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        
    </Grid>
</Window>
xmlns特征的语法格式如下:xmlns[:可选的映射前缀]="名称空间"

xmlns后可以跟一个可选的映射前缀,之间用冒号分隔,如果没有写可选映射前缀,就意味着所有来自这个名称空间的标签都不用加前缀,这个没有映射前缀的名称空间称为“默认名称空间”,默认名称空间只能有一个。上面的例子中,Window和Grid都属于 xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation声明的默认命名空间,而Class特征来自于 xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml申明的命名空间,如果给 xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation申明的命名空间加上一个前缀,那么代码必须修改成这样

 

<n:Window x:Class="WpfApplication1.MainWindow"
        xmlns:n="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <n:Grid>
        
    </n:Grid>
</n:Window>
 
在C#中,如果要使用System.Windows.Controls名称空间里的Button类,需要先把包含System.Windows.Controls美林歌城空间的程序集PresentationFramework.dll通过添加引用的方式引用到项目中,然后再在C#代码的顶端输入using System.Windows.Controls;
 
在XAML如果需要使用Button类,也需要先添加对程序集的引用,然后在根元素的起始标签中写上一句:xmlns:c="clr-namespace:System.Windows.Controls;assembly=PresentationFramework"
 
 x:Class这个属性的作用是当XAML解析器将包含它的标签解析成C#类后的类名,用Windows SDK自带的工具IL反汇编程序对编译出来的exe进行反汇编,可以发现生成了MainWindow类
 
 
 
在XAML中引用名称空间的语法是:
 
 
xmlns:映射名="clr-namespace:类库中名称空间的名字;assembly=类库文件名"
 
  
 
  
例如:MyLibrary.dll中包含Common和Control两个名称空间,而且已经把这个程序集引用进WPF项目,那么在XAML中对于这两个名称空间,XAML中的引用会是:
xmlns:common="clr-namespace:Common;assembly=MyLibrary"
xmlns;control="clr=namespace:Control;assembly=MyLibrary"


 
   
目录
相关文章
|
6月前
|
C++ 开发者
C++程序命名空间
C++程序命名空间
42 1
|
2月前
|
C# 容器
C#中的命名空间与程序集管理
在C#编程中,`命名空间`和`程序集`是组织代码的关键概念,有助于提高代码的可维护性和复用性。本文从基础入手,详细解释了命名空间的逻辑组织方式及其基本语法,展示了如何使用`using`指令访问其他命名空间中的类型,并提供了常见问题的解决方案。接着介绍了程序集这一.NET框架的基本单位,包括其创建、引用及高级特性如强名称和延迟加载等。通过具体示例,展示了如何创建和使用自定义程序集,并提出了针对版本不匹配和性能问题的有效策略。理解并善用这些概念,能显著提升开发效率和代码质量。
104 4
|
6月前
|
域名解析 程序员 C++
C++命名空间
`C++`中的命名空间用于分割全局作用域,减少命名冲突。定义命名空间如`namespace expression {...}`,可使用`using`运算符或`using namespace`指令引用。案例展示如何在命名空间`Person`内定义变量和函数。注意:命名应具描述性,头文件中命名空间放预处理指令后,避免全局变量和过度使用`using`。命名冲突时可设命名空间别名。
34 2
|
6月前
|
程序员 编译器 C语言
【C++】命名空间
【C++】命名空间
39 3
|
6月前
|
人工智能 编译器 C语言
|
6月前
|
C++
64命名空间
64命名空间
32 0
C++(命名空间的使用小结)
C++(命名空间的使用小结)
|
C#
2.XAML基础
2.XAML基础
103 0
|
IDE 编译器 C#
C#中的命名空间和程序集
C#中的命名空间和程序集
232 0
|
C# 开发者 API
让你编写的控件库在 XAML 中有一个统一的漂亮的命名空间(xmlns)和命名空间前缀
原文 让你编写的控件库在 XAML 中有一个统一的漂亮的命名空间(xmlns)和命名空间前缀 在 WPF XAML 中使用自己定义的控件时,想必大家都能在 XAML 中编写出这个控件的命名空间了。然而——我写不出来,除非借助 ReSharper。
1211 0