WPF学习之路(二) XAML
在WPF中引入了XAML语言,主要用于界面设计,业务逻辑则使用C#实现后台代码,将界面设计与业务逻辑分离
XAML是一种声明式语言,类似XML\HTML
示例:
<!--Start Tag-->
<Button xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Width="300" Height="200">
<!--Property-->
<Button.Content>
Hello XAML
</Button.Content>
</Button>
<!--End Tag-->
这是一个普通的Button
<DockPanel>
<Button DockPanel.Dock="Left" Background="AliceBlue" Margin="0,5,0,10" Content="Hello XAML" />
<Button DockPanel.Dock="Right">
<Button.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="Yellow" Offset="0.0" />
<GradientStop Color="Green" Offset="0.25" />
<GradientStop Color="Blue" Offset="0.75" />
<GradientStop Color="LimeGreen" Offset="1" />
</LinearGradientBrush>
</Button.Background>
Hello XAML
</Button>
</DockPanel>
在面板(DockPanel)窗口中有两个Button
XAML有两个重要组成:完整的开始/结束标签,即元素;依赖于元素的要素,即属性
命名空间
WPF命名空间 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
XAML至少要指定一个命名空间,为了作用于整个文件,通常放置在根元素中
WPF中有4中元素可以作为根元素:Windows(窗口)、Page(网站页面)、Application(应用程序)、ResourceDictionary(逻辑资源集合)
XAML命名空间 习惯上带有x前缀 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
其他命名空间
使用系统类
xmlns:s="clr-namespace:System;assembly=mscorlib"
使用自定义类 自定义类必须有无参构造函数
1.使用本地自定义类
xmlns:local="clr-namespace:Alex_WPFAPPDemo01"
示例:
public class Book
{
public string Name { get; set; }
public double Price { get; set; }
public Book() { }
public override string ToString()
{
return Name + ": " + Price + "¥";
}
}
<Window x:Class="Alex_WPFAPPDemo01.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Alex_WPFAPPDemo01"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Button FontSize="14">
<local:Book Name="Self-learning WPF" Price="30.0" />
</Button>
</Grid>
</Window>

2.使用外部自定义类
xmlns:customlib="clr-namespace:ThirdDll;assembly=ThirdDll"
To be continue...
WPF学习之路(二) XAML的更多相关文章
- WPF学习之路初识
WPF学习之路初识 WPF 介绍 .NET Framework 4 .NET Framework 3.5 .NET Framework 3.0 Windows Presentation Found ...
- WPF学习拾遗(二)TextBlock换行
原文:WPF学习拾遗(二)TextBlock换行 下午在帮组里的同事解决一个小问题,为了以后方便,把就把它收集一下吧. 新建一个TextBlock作为最基础的一个控件,他所携带的功能相对于其他的控件要 ...
- WPF学习之路(二) XAML(续)
属性 简单属性 前面用到的Width/Height都是简单属性,其赋值一定要放到双引号里 XAML解析器会根据属性的类型执行隐式转换 与C#的区别 SolidBrush.Color = Colors. ...
- WPF学习(2)XAML
XAML(eXtensible Application Markup Language,可扩展应用程序标记语言)是一种声明式的编程语言,遵循XML的语法.WPF使用XAML来设计UI具有易用性.高效性 ...
- 【WPF学习】第一章 XAML介绍
XAML(Extensible Application Markup Language的简写,发音为“zammel”)是用于实例化.NET对象的标记语言.尽管XAML是一种应用于诸多不同问题领域的技术 ...
- Redis——学习之路二(初识redis服务器命令)
上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息 s ...
- WPF学习之路(九)导航和页面(续)
生命周期 如果Page1成功导航到Page2,首先会触发NavigationService的Navigating事件,标识导航开始.随后创建Page2对象,并且触发NavigationProgress ...
- WPF学习01:初始XAML浅析
本文内容: 浅析WPF应用默认创建的XAML中元素.attributes. 新建WPF工程“HelloWPF”. 初始创建的主窗体XAML代码如下: <Window x:Class=" ...
- Wpf学习之路……
Wpf学习之路-- Wpf是 .net中一门做winform的技术,和传统的winform的区别在于: 1. 原来的winform就是拖控件,而wpf的控件都死自己拿标记语言(xaml ...
随机推荐
- WPF学习之绘图和动画
如今的软件市场,竞争已经进入白热化阶段,功能强.运算快.界面友好.Bug少.价格低都已经成为了必备条件.这还不算完,随着计算机的多媒体功能越来越强,软件的界面是否色彩亮丽.是否能通过动画.3D等效果是 ...
- jquery基本选择器id
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- script引入js文件问题
- 【Java每日一题】20161122
package Nov2016; import java.util.ArrayList; import java.util.Iterator; public class Ques1122 { publ ...
- 以Unix之名
即便有了MBP,有时,还是想把MBP装上一个Linux发行版,因为习惯了Linux下的折腾. 但每次想要动手安装时,都会告诉自己,MacOS是很纯正的Unix系统,这样,内心的冲动就可以再多压一压. ...
- C++学习笔记13:运算符重载(赋值操作符2)
移动语义 完成所有权的移交,当拷贝构造和赋值构造时,目标对象的所有权必须移交给我们的新的对象,原始对象将丧失所有权,_p指针将不再指向原来的那个数组: 左值与右值 C原始定义 左值:可以出现在赋值号的 ...
- [moka同学笔记]二、Yii2.0课程笔记(魏曦老师教程)
一.在标签tags的model中 //使用正则表达式,把标签字符串转换成数组 public static function string2array($tags) { return preg_spli ...
- windows不能显示此连接属性。windows management instrumentation (WMI) 信息可能损坏
Windows Management Instrumentation (WMI)信息可能损坏错误修复 在 查看“本地连接”的属性,并切换到“高级”选项卡后,提示:“Windows不能显示此连接的属性. ...
- Numeral.js – 格式化和操作数字的 JavaScript 库
Numeral.js 是一个用于格式化和操作数字的 JavaScript 库.数字可以格式化为货币,百分比,时间,甚至是小数,千位,和缩写格式,功能十分强大.支持包括中文在内的17种语言. 您可能感兴 ...
- 分享25个新鲜出炉的 Photoshop 高级教程
网络上众多优秀的 Photoshop 实例教程是提高 Photoshop 技能的最佳学习途径.今天,我向大家分享25个新鲜出炉的 Photoshop 高级教程,提高你的设计技巧,制作时尚的图片效果.这 ...