zoukankan      html  css  js  c++  java
  • 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系列学习心得正式开写。。。。。。。

      

          

      

  • 相关阅读:
    包含深度学习常用框架的Docker环境
    Docker快速搭建neural style环境
    kaggle之Grupo Bimbo Inventory Demand
    kaggle之人脸特征识别
    kaggle之识别谷歌街景图片中的字母
    kaggle之数字序列预测
    kaggle之泰坦尼克的沉没
    kaggle之手写体识别
    Promise/Bluebird源码
    redis源码笔记(一) —— 从redis的启动到command的分发
  • 原文地址:https://www.cnblogs.com/E-WALKER/p/4370046.html
Copyright © 2011-2022 走看看