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 ...
随机推荐
- LINQ的ElementAt与ElementAtOrDefault方法
2个方法,均返回集合中指定索引的元素.区别在于前者当没有结果返回时,抛出异常,而后者如果没有结果则返回默认值. 参考例子: 上图示例中,红色数字是集合的索引,它是从0开始.只要知道它是从0开始,那下面 ...
- request的各种方法大全
request.setAttribute("result", district);//放进作用域,可以用el表达式在页面展示.(名字,调用方法的结果) pageContext.re ...
- Intellij Idea上传本地项目到Git
方法一:选择菜单VCS-Import into Version Control - Share project on Github,填写仓库名和github账户之后,点击"Share&quo ...
- .Net中的并行编程-4.实现高性能异步队列
上文<.Net中的并行编程-3.ConcurrentQueue实现与分析>分析了ConcurrentQueue的实现,本章就基于ConcurrentQueue实现一个高性能的异步队列,该队 ...
- 24个很赞的 Node.js 免费教程和在线指南
JavaScript 最初是用来创建动态网站效果的的前端语言.而如今,这门脚本语言也可以用作后端开发,用于搭建 Web 服务器,开发接口,甚至创建博客.在下面这个列表中包括24个 Node.js 教程 ...
- array's filter
var arr = [ { id: 15 }, { id: -1 }, { id: 0 }, { id: 3 }, { id: 12.2 }, { }, { id: null }, { id: NaN ...
- 一行代码如何控制ipunt框里面值的长度
<input type="text" id="你的id" maxlength="你想要的长度" onkeyup="thi ...
- Navigator对象、Screen对象
Navigator对象: Window对象的navigator属性引用的是包含浏览器厂商和版本信息的Navigator对象: Navigator对象集合:plugins[] 返回对 ...
- SharePoint Online 创建门户网站系列之导航
前 言 关于SharePoint Online中的导航,基本是由Html + Css + JavaScript组成效果以及样式,然后在后台列表或者SharePoint Online元数据导航当做数据源 ...
- JS常用的function集合
1.把字符串转为日期格式 (1) var str ='2012-08-12 23:13:15';str = str.replace(/-/g,"/");var date = ne ...