本文内容: 浅析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="" Width="">
<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 = ;
}
}

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

  Title:程序的标题

  Height, Width: 顾名思义。。。

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

  

      

  

WPF学习01:初始XAML浅析的更多相关文章

  1. WPF学习笔记1——XAML之1

    参考文献: http://msdn.microsoft.com/zh-cn/library/ms752059(v=vs.110).aspx <Pro WPF 4.5 in C# > 一.X ...

  2. WPF学习笔记——认识XAML

    Extensible Application Markup Language,XAML是一种声明性标记语言. 一.XAML语法概述 1,与XML类似,用尖括号标记元素 <StackPanel&g ...

  3. WPF学习笔记2——XAML之2

    三.事件处理程序与代码隐藏 例如,为一个Page添加一个Button控件,并为该Button添加事件名称Button_Click: <Page xmlns="http://schema ...

  4. WPF学习一:XAML的资源(Resources)结构

    一个初学者,把知识做个积累,如果有不对的地方,还请高手指出,谢谢! 先看一段代码:(下面是以Window WPF进行讲解,如果是Web 的话就把<Window改为<Page 而如果是 Us ...

  5. WPF学习笔记 - 在XAML里绑定

    Binding除了默认构造函数外,还有一个可以传入Path的构造函数,下面两种方式实现的功能是一样的. <TextBlock x:Name="currentFolder" D ...

  6. WPF学习笔记-用Expression Design制作矢量图然后导出为XAML

    WPF学习笔记-用Expression Design制作矢量图然后导出为XAML 第一次用Windows live writer写东西,感觉不错,哈哈~~ 1.在白纸上完全凭感觉,想象来画图难度很大, ...

  7. WPF学习之路(二) XAML

    在WPF中引入了XAML语言,主要用于界面设计,业务逻辑则使用C#实现后台代码,将界面设计与业务逻辑分离 XAML是一种声明式语言,类似XML\HTML 示例: <!--Start Tag--& ...

  8. WPF学习(2)XAML

    XAML(eXtensible Application Markup Language,可扩展应用程序标记语言)是一种声明式的编程语言,遵循XML的语法.WPF使用XAML来设计UI具有易用性.高效性 ...

  9. WPF学习(6)路由事件

    做过.net开发的朋友对于事件应该都不陌生.追溯历史,事件(Event)首先应用在Com和VB上,它是对在MFC中使用的烦琐的消息机制的一个封装,然后.net又继承了这种事件驱动机制,这种事件也叫.n ...

随机推荐

  1. 【Android 界面效果38】android:inputType常用取值

    <EditText android:layout_width="fill_parent" android:layout_height="wrap_content&q ...

  2. epoll实现linux进程通信

    server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <s ...

  3. 《MFC游戏开发》笔记六 图像双缓冲技术:实现一个流畅的动画

    本系列文章由七十一雾央编写,转载请注明出处.  http://blog.csdn.net/u011371356/article/details/9334121 作者:七十一雾央 新浪微博:http:/ ...

  4. java程序执行内存处理过程

    我们学习知识,不仅要知其然,还要知其所以然,你的工资必定和你学习的深度成正比. 在以往.net的学习过程中,我们了解了怎么去开发一个程序,并有了一定的开发经验,但是一个程序具体是怎么在内存中运行的呢? ...

  5. js和jQuery 获取屏幕高度、宽度

    js获取屏幕高度,宽带 网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body ...

  6. Linux常用命令之awk

    标题:awk命令的使用 作用:awk是非常好用的数据处理工具,主要处理每一行的字段内的数据,默认的字段的分割符为空格键或[tab]键 一.awk脚本的基本结构: awk 'BEGIN{print &q ...

  7. ionic 中使用ion-slide-box

    ion-slide-box 用法: <ion-slide-box class="slide" auto-play="true" does-continue ...

  8. Umbraco列表分页

    展示型文章经常会遇到分页的问题,以下是我的解决方法: ; ; int.TryParse(Request.QueryString["page"], out page); var to ...

  9. 写入数据到Plist文件中时,第一次要创建一个空的数组,否则写入文件失败

    #pragma mark - 保存数据到本地Plist文件中 - (void)saveValidateCountWithDate:(NSString *)date count:(NSString *) ...

  10. CSS - 实现文字显示过长时用省略

    一.添加-文字显示超出范围时隐藏属性 overflow:hidden; 二.添加-超出文字省略号属性 text-overflow:ellipsis; 三.添加-文字不换行属性 white-space: ...