WPF学习01:初始XAML浅析

本文内容: 浅析WPF应用默认创建的XAML中元素、attributes。


  新建WPF工程“HelloWPF”.

  

  初始创建的主窗体XAML代码如下:

 <Window x:Class="HelloWPF.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>

  初始代码元素部分:

  Window:同HTML,XML一样,XAML也有顶层元素。与HTML不同的是,XAML顶层元素有三个可选项,分别是:Window,Page(用于导航应用中,典型:WINDOWS PLAYER),Application。

  很典型的Application就是同样WPF工程中默认创建的,App.xaml。用于定义整个应用用到的资源,并进行一些初始化操作。

  通过Application的StartupUri,我们指定了应用的启动窗口。

  修改App.xaml.cs代码如下:

  public partial class App : Application
  {
        public App()
        { 
        
        }
   }

  Debug,分别在App与MainWindow的构造函数中加入断点,即能发现App将首先被调用。现在把App.xaml删掉,是会出问题的,所以,如果强迫症发作。。。百度相关方法就好了。

  Grid:是WPF 的一种Layout Control,WPF提供了多个Layout Control:StackPanel、WrapPanel、Canvas。。。相比传统的桌面程序开发仅仅提供了绝对定位的原生支持,多种布局方式给了我们更多发挥的余地。

  初始代码Attributes部分:

  Xmlns:默认两个URL其实并不是引发一个HTTP请求,申请相关的库文件。而是由一个特定URL到多个CLR命名空间,之所以要用这种一对多的映射是:不这样做XMAL的可读性将会很大的降低。

  我们可以把XAML改成这样:

 <NameSpace1:Window NameSpace2:Class="HelloWPF.MainWindow"
        xmlns:NameSpace1="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:NameSpace2="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <NameSpace1:Grid>
        
    </NameSpace1:Grid>
 </NameSpace1:Window>

  结论如下:

  1.xmlns:XXX    XXX是XAML中对相关命名空间的别名。

  2.接1,当XXX为空时,即为XAML默认命名空间。

  当我们希望在XAML中引入其它的命名空间需要怎么做呢,如图,创建了一个C# DLL 工程“Utility”,在HelloWPF中对其添加了引用。

  

  在WPF中引用该命名空间只需要:

 xmlns="clr-namespace:Utility;assembly=Utility"

  Class:借助partial关键字,我们可以在多个地方同时编辑同一个类,比如说我们可以写出这样的代码:

    public partial  class MainWindow : Window
    {
        public int Key { get; set; }
   }

    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            Key = 10;
        }
     }

  通过指定class,WPF初始创建的MainWindow.xaml 与 MainWindow.xaml.cs即能很好共同编辑MainWindow啦。

  Title:程序的标题

  Height, Width: 顾名思义。。。

  WPF系列学习心得正式开写。。。。。。。

  

      

  

原文地址:https://www.cnblogs.com/E-WALKER/p/4370046.html