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="" 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浅析的更多相关文章
- WPF学习笔记1——XAML之1
参考文献: http://msdn.microsoft.com/zh-cn/library/ms752059(v=vs.110).aspx <Pro WPF 4.5 in C# > 一.X ...
- WPF学习笔记——认识XAML
Extensible Application Markup Language,XAML是一种声明性标记语言. 一.XAML语法概述 1,与XML类似,用尖括号标记元素 <StackPanel&g ...
- WPF学习笔记2——XAML之2
三.事件处理程序与代码隐藏 例如,为一个Page添加一个Button控件,并为该Button添加事件名称Button_Click: <Page xmlns="http://schema ...
- WPF学习一:XAML的资源(Resources)结构
一个初学者,把知识做个积累,如果有不对的地方,还请高手指出,谢谢! 先看一段代码:(下面是以Window WPF进行讲解,如果是Web 的话就把<Window改为<Page 而如果是 Us ...
- WPF学习笔记 - 在XAML里绑定
Binding除了默认构造函数外,还有一个可以传入Path的构造函数,下面两种方式实现的功能是一样的. <TextBlock x:Name="currentFolder" D ...
- WPF学习笔记-用Expression Design制作矢量图然后导出为XAML
WPF学习笔记-用Expression Design制作矢量图然后导出为XAML 第一次用Windows live writer写东西,感觉不错,哈哈~~ 1.在白纸上完全凭感觉,想象来画图难度很大, ...
- WPF学习之路(二) XAML
在WPF中引入了XAML语言,主要用于界面设计,业务逻辑则使用C#实现后台代码,将界面设计与业务逻辑分离 XAML是一种声明式语言,类似XML\HTML 示例: <!--Start Tag--& ...
- WPF学习(2)XAML
XAML(eXtensible Application Markup Language,可扩展应用程序标记语言)是一种声明式的编程语言,遵循XML的语法.WPF使用XAML来设计UI具有易用性.高效性 ...
- WPF学习(6)路由事件
做过.net开发的朋友对于事件应该都不陌生.追溯历史,事件(Event)首先应用在Com和VB上,它是对在MFC中使用的烦琐的消息机制的一个封装,然后.net又继承了这种事件驱动机制,这种事件也叫.n ...
随机推荐
- 【Android 界面效果26】listview android:cacheColorHint,android:listSelector属性作用
ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉, 原因是,滚动时,列表里面的view重绘时,用的依 ...
- 【CSS】class和id命名规则
说明,本篇内容为书籍<高流量网站CSS开发技术>的学习总结,文字出自书本 书不错,推荐阅读学习 也可参阅网上的博文 原载:彬Go链接:http://blog.bingo929.com/cs ...
- SQL Server远程连接操作
有时候需要在跨数据库或者跨服务器间进行操作时,可用以下代码: -- 开启远程选项 reconfigure reconfigure -- 方法1: -- 方法2: * FROM OPENROWSET(' ...
- SlickOne -- 基于Dapper, Mvc和WebAPI 的快速开发框架
前言:在两年前,项目组推出了基于Dapper,Mvc和WebApi的快速开发框架,随着后续Slickflow产品的实践和应用,今再次对SlickOne项目做以回顾和总结.其目的是精简,持续改进,保持重 ...
- SQL_UNPIVOT(行列转换)
--临时表 insert into ##table([column1],S1, S2,S3)VALUES('VALUE','VALUE','VALUE','VALUE') --把原S1, S2,S3列 ...
- jQuery AJAX Call for posting data to ASP.Net page ( not Get but POST)
the following jQuery AJAX call to an ASP.Net page. $.ajax({ async: true, type: "POST", url ...
- C# HttpWebRequest类
HttpWebRequest类与HttpRequest类的区别. HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebReque ...
- 20150311—html中iframe(转发)
JS实现iframe框架页面跳转和刷新 一.js方式的页面跳转 1.window.location.href方式 <script language="javascript" ...
- UI6_UIAlertContrller
// // ViewController.m // UI6_UIAlertContrller // // Created by zhangxueming on 15/7/7. // Copyright ...
- StreamWriter和StremReader简单的用法
string str = "中国";//写入的内容 string path = @"e:\1.txt";//文件路径 StreamWriter sw = new ...
