C#之XMAL与WPF
XAML是用于实例化.NET对象的标记语言,主要用于构建WPF的用户界面XAML中的每一个元素都映射为.NET类的一个实例,例如<Button>映射为WPF的Button对象XAML可以在一个元素中嵌套另一个元素,例如Grid元素可以嵌套Button元素
了解XAML
VisualStudio创建一个窗口,默认情况下产生的代码如下:这段代码中包含两个标记元素,一个是Window,一个是GridWindow是WPF顶级元素的一种,还有另外两种顶级元素Page和Application
Window用于描述一个窗口 Page 和Window类似,但它用于可导航的应用程序 Application用于定义应用程序资源和启动设置 任何一个XAML文档只能拥有一个顶级元素
属性
窗口标签中Title、Height、Width都是窗口的属性在XAML文件中属性的值的类型总是字符串,但XAML的解析器可以把这些字符串转换成.NET的任意类型
名称空间
在上面代码中,用xmlns属性来标记此文档从属于哪个名称空间为什么需要名称空间呢?如果我们在第三方组件中定义了Window类,如果没有一个名称空间做限定的话,编译器不知道我们将使用哪个Window类型来渲染窗口我们在上面的代码中,看到了两个名称空间,一个是WPF核心名称空间、一个是XAML名称空间
WPF核心名称空间 包含所有WPF类,包含用来构建用户界面的控件,是文档的默认名称空间 XAML名称空间 包含各种XAML实用特性,这些特性可以影响文档的解释方式,该名称空间被映射为前缀x,使用前需要标注前缀x,比如:<x:ElementName>有了名称空间的限定,我们直接书写的<Grid>标签,才可以映射到System.Windows.Controls.Grid类上
代码隐藏类
XAML创建用户界面,但交互规则还是需要.NET语言编写x:Class属性标记着与该XAML文件相配合的.NET类注意这个类是一个“部分类”这个部分类的构造函数中调用了InitializeComponent方法,这个方法负责创建控件对象、设置属性、绑定事件、构造用户界面等工作
复杂属性
有些属性的值不是一个简单类型,而是一个对象,不如下面这个Grid的背景颜色
我们现在只要知道XAML解析器也能创建出复杂属性对应的值即可
标记扩展
如果我们希望把属性值绑定为一个已经存在的对象,那么我们可以使用静态标记扩展标记扩展还有很多其他的用法,我们以后再聊这里也涉及到了属性绑定,我们以后再聊
附加属性
对于嵌套的元素,子元素可以使用父元素定义的一些属性,这类属性就是附加属性在WPF中附加属性多用于布局
C#之XMAL与WPF的更多相关文章
- C# XMAL与WPF
通过老师上课的解释和我下课后的网上查询,我了解到了一些关于这三者的关系.XAML是.NET体系开发程序或者网页时前台编程的一种布局方式或者说开发语言,可以比较自由的用标签的方式进行布局,借鉴了HTML ...
- WPF svg 转 xmal
原文:WPF svg 转 xmal 今天wpf里面要用矢量图,美工出的是svg格式的,需要将svg格式的转换为xaml 1.第一个尝试是安装Inkscape,这个软件可以直接将svg另存为xaml,但 ...
- wpf XMAL中隐藏控件
原文:wpf XMAL中隐藏控件 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a771948524/article/details/9264569 ...
- XMAL语法系列之-(2)---WPF控件继承图
WPF控件继承图 1 FrameworkElement 1.1 Panel(面板类元素) 1.1.1 Canvas 1.1.2 DockPanel 1.1.3 Grid 1.1.4 TabPanel ...
- WPF xmal绑定数据,当显示数据过长用省略号代替的方法
有时候会遇到这种情况,用了数据绑定显示的数据太长时,如何让过长的数据显示规定的长度,多余的用省略号代替呢,自己写了个简单的小例子和大家分享一下^_^,我也是学习WPF不久,这是我第一次写博客,有问题还 ...
- 3 WPF之从0开始学习XMAL
转载:http://blog.csdn.net/fwj380891124/article/details/8088233 剖析最简单的XMAL代码: <Window x:Class=&quo ...
- WPF:xmal 静动态资源
<StackPanel.Resources> <SolidColorBrush x:Key="myBrush" Color="Teal"/&g ...
- wpf xmal基础
1.名称空间的引用 比如想使用System.Windows.Controls名称空间 首先需要把改名称空间所在的程序集presentationFramework.dll引用到项目里 然后在根元素的起始 ...
- WPF XMAL获取元素的父元素,子元素
/// 获得指定元素的父元素 /// </summary> /// <typeparam name="T">指定页面元素</typeparam> ...
随机推荐
- HDU 5761 Rower Bo
传送门 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Special Jud ...
- BeautifulSoup高级应用 之 CSS selectors /CSS 选择器
BeautifulSoup支持最常用的CSS selectors,这是将字符串转化为Tag对象或者BeautifulSoup自身的.select()方法. 本篇所使用的html为: html_doc ...
- (译)你应该知道的jQuery小技巧
帮助提高你jQuery应用的简单小技巧 回到顶部按钮 图片预加载 判断图片是否加载完 自动修补破损图像 Hover切换class类 禁用输入 停止正在加载的链接 toggle fade/slide 简 ...
- NOIp2010 关押罪犯
二分+2-SAT 先预处理出所有的v,然后离散化一下,在那个的基础上二分,对于每次二分出的值约束边权超过所二分出的边权的两点. //OJ 1322 //by Cydiater //2015.8.26 ...
- HDU1392Surround the Trees(凸包判断 + 求周长)
http://www.cnblogs.com/hmhard/archive/2013/02/05/2893035.html 这是判断三角区域那块写的不好. 判断凸包的方法: 1.将所有点按照y从小到大 ...
- css011 表格和表单的格式化
css011 表格和表单的格式化 一. 让表格专司其职 Html中创建一个三行三列的表格 <table> <caption align="bottom" ...
- Java之强引用、 软引用、 弱引用、虚引用
1.强引用 平时我们编程的时候例如:Object object=new Object();那object就是一个强引用了.如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝不会回收它. ...
- cmd chcp命令切换字符格式UTF8
cmd chcp命令切换字符格式 命令介绍: chcp 65001 #换成utf-8代码页 chcp 936 #换成默认的gbk chcp 437 #美国英 ...
- Spring MVC学习笔记——POJO和DispatcherServlet
POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称. 使用POJO名称是为了避免和EJB(Enter ...
- ecshop后台【订单管理】
1.订单列表页,在‘确认’,‘无效’,’取消‘....增加一个选项’导出exl表格‘ a.增加html代码,order_list.htm <input name="print" ...