本文内容: 浅析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. 【Python千问 1】Python核心编程(第二版)导读

    第一章 欢迎来到Python世界 什么是Python Python的起源 Python的特点 下载Python 安装Python 运行Python Python文档 比较Python(与其它语言的比较 ...

  2. 【Android 界面效果12】EditText中的多行输入问题

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 我们在使用EditText进行多行输入的时候,通常的写法如下: <EditText android ...

  3. 【JEMTER】后置处理器JSON Path Extractor获取server端返回的json中某项值

    需求1:点击所有报表模板时,server端返回所有报表模板的ID(templateId),测试时需要下载某个模板生成的报表 需求2:点击单个报表模板时,server端返回这个报表模板下的所有报表ID( ...

  4. django 用imagefiled访问图片

    使用FileField和ImageField时,我们有几个步骤: 在settings.py中设置MEDIA_ROOT和MEDIA_URL MEDIA_ROOT:一个绝对路径,Django根据它知道文件 ...

  5. 百度地图开发之poi检索,线路规划

      官方文档 http://lbsyun.baidu.com/index.php?title=androidsdk/guide/key 先去官方文档申请秘钥下载压缩文件等操作,参考 百度地图的秘钥申请 ...

  6. js中Math()函数&&数据类型转换

    Math()函数: x的y次方:Math.pow(x,y) 取小数点后两位:num.toFixed(2) 数据类型转换: 字符串转换为数字:parseInt(num)转换为整数:parseFloat( ...

  7. VS2012添加ADO实体数据模型

    最近更新了开发工具为VS2012,在使用EntityFramework创建实体数据模型的时候,在添加选项中找不到这个选项. 确定了自己已经安装了EntityFramework,猜到估计是版本的问题,于 ...

  8. html学习笔记1

    一.特殊按键和快捷键 键盘上除了有字母.数字之外,还有一些特殊的按键:ctrl.shift.alt.tab ● ctrl键是英语control"控制"的意思,这个按键,单独按没有任 ...

  9. MongoDB - MongoDB CRUD Operations, Query Documents

    Query Method MongoDB provides the db.collection.find() method to read documents from a collection. T ...

  10. 动态创建DataTable总结

    最简单的: DataTable dt = new DataTable(); dt.Columns.Add("id"); dt.Columns.Add("name" ...