理解XAML命名空间

来源:互联网 发布:易语言下载器源码 编辑:程序博客网 时间:2024/06/04 23:20

理解XAML命名空间

 

        断断续续的做了几个月WPF项目,为了不熊瞎子掰苞米,今天先通过两个小例子理解XAML的命名空间。

 

一、在 XAML 中导入第三方命名空间

 

    1)首先不要忘了在 DemoApplication 项目中,添加对 SamplesLib 项目的项目引用。

    2)然后在 XAML 视图中插入 xmlns:dc="clr-namespace:SamplesLib"

    3)添加自定义控件DemoControl 

  1. <Window x:Class="DemoApplication.Window1"
  2.     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.     xmlns:dc="clr-namespace:SamplesLib"
  5.     Title="Window1" Height="300" Width="300">
  6.   <Grid>
  7.     <dc:DemoControl />
  8.   </Grid>
  9. </Window>

二、继承自定义窗体

 

        1)在解决方案中建立自定义控件项目MyWindow,BaseWindow继承Window,具体怎么写就不说了,你可以自己定义外边框,最小化、最大化以及关闭按钮等。

        2)添加对 MyWindow项目的项目引用。

        3)在 XAML 视图中插入 xmlns:src="clr-namespace:MyWindow",并将Window替换成src:BaseWindow

        2)将code behind文件中 public partial class Window1 : Window 修改成:public partial class Window1 : BaseWindow

  1. <src:BaseWindow x:Class="InheritWindowDemo.Window1"
  2.                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3.                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4.                 xmlns:src="clr-namespace:MyWindow"
  5.                 Height="300"
  6.                 Width="300">
  7.     <Grid>
  8.     </Grid>
  9. </src:BaseWindow>

       总结:把 http://schemas.microsoft.com/winfx/2006/xaml/presentatio 作为默认(主要)命名空间,把 http://schemas.microsoft.com/winfx/2006/xaml 作为次要命名空间,次要命名空间的前缀是x,这仅仅是一个规则,就像C#文件要以using System; 指令开始一样。从代码可读性来讲,在使用这些常见的命名空间的时候不需要前缀(即原始的XML命名空间),其他一些命名空间则使用一个短前缀,这样做是有道理的。

 

 

 

 

 

 

 

 

 

 

原创粉丝点击