Learn WPF basic
一些名词:
WinFX编程模型
WinFX,Microsoft Windows的一种托管编程模型,包括.NET 2.0框架、Windows Presentation Foundation(WPF,以前命名为”Avalon”)、Windows Communication Foundation(WCF,以前命名为”Indigo”)和Windows Workflow Foundation(WWF,以前命名为”WinOE”)。
XAML:XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言。XAML提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面,而这种实现方式和ASP.NET中的"代码后置"模型非常类似。
Windows Presentation Foundation是.NET 3.0中的一个令人感兴趣的新开发工具, 为开发基于 UI 的应用程序提供了新技术,并可以更好地使用当前的硬件和技术。
我们通过简单的步骤来学习体验WPF所带来的一系列改变:
第一步: XAML Pad:
WPF使用XAML来将WPF变成当中的表示层和逻辑层分离,所有的功能都可以通过编程实现,但是表示层可以用XAML来进行展现,而将事件响应处理等逻辑操作通过编程语言来实现。XAML和WPF类库紧密相关的,每种可以在XAML中使用的元素其实都是一个类,例如<Button>元素就与类库中的System.Windows.Controls.Button相对应。同样XAML元素的各个属性就是对应的WPF类的各个属性。正是因为上述的继承关系以及XAML中的每个元素均代表一个WPF类,所以XAML也存在一些面向对象体系结构的特性。比方说一个元素派生自另外的一个XAML元素,那么该元素将继承其父元素的特性下面是一个简单的例子:
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<Button Background="Green" FontSize="24pt">
Please....
</Button>
</Page>
在命令行敲入xamlpad,这是WindowsSDK自带的xaml浏览工具。把上述xml键入,效果如下:
第三步:创建第一个简单的WPF应用程序
打开VisualStudio 2008, 新建项目,选C#project/WPF Application。 填入项目名称: WPFAppTestProject, 如图所示:
在设计窗口添加一个按钮,双击按钮,然后在事件响应当中键入:
private void button1_Click(object sender, RoutedEventArgs e)
{
button1.Content = "Hello"+DateTime.Now.ToString();
}
效果如下:
第四步:构建一个复杂的界面:
完善xaml为如下的代码:
<Window x:Class="WPFAppTestProject.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="335" Width="563" Background