一、WPF介绍
先说下WPF,她的简称是Windows Presentation Foundation,注意到Presentation这个单词了吧,展现的意思,后面那个是基础,展现基础,WPF是一种展现的基础框架。她运用Direct3d技术,而且实现了界面元素的外观和行为分离,这不是很流行的解耦思想嘛,呵呵,很先进的样子哟。值得一提的是WPF使用的布局语言是Xaml,布局有些类似网页布局,不错的布局方式,比winform布局方便很多。
如果说winform还有这win32和mfc的影子,这次可以算是全新的表现形式了,以往的平台每个控件只能负责它自己的那片区域,但是WPF每个空间可以在屏幕的任何地方进行绘画,华丽的转身也可以做到,感觉用户体验倍升。有兴趣的可以下载个Microsoft Expression Design,专门用来设计非常酷的WPF界面,生成的是Xaml文件。
二、Hello World
先不说别的,先来我们的传统,你懂得。。。
using System; using System.Windows; namespace Zjh.SayHello { class SayHello { [STAThread] public static void Main() { Window win = new Window(); win.Title = "Hello World!!"; win.Show(); Application app = new Application(); app.Run(); } } }
[STAThread]是单线程套间的意思,Application对象的Run方法是建立一个消息循环,如果你在项目属性中选择控制台启动,你就会明白。第一次看到下面这个类归属树,我很惊讶,很不错,很清晰有没有
对于这个Application对象,只有一个,执行了Run方法后,然后所做的事情就是响应各种事件,也就意味着如果要对 如果你想获取窗口的实际尺寸,使用ActualWidth和ActualHeight这两个只读属性,记住窗口出现在屏幕上,这两个属性才会生效。当你设置宽和高的时候,设置的数值,记得是“逻辑像素”,简单来说的就是相对灵活的像素,会尽可能保证大小与设备无关。SystemParameters.PrimayScreenWidth和SystemParameters.PrimayScreenHeight的宽和高是系统桌面的数据,同样是“逻辑像素”。 WPF看到颜色Color里面是有透明度的数据,可以控制控件的透明度,窗体的透明效果就是这个关键属性变来的。 Brush画刷是WPF里面很重要的一点,Brush本身是一个抽象类,它的类层次图如下:
只有Brush的子类实例才能设定window对象的Background property,在System.Window.Media命名空间里面。这里主要介绍SolidColorBrush类(单色画刷)和GradientBrush类(渐变画刷)。 SolidColorBrush只能设置单一颜色,使用代码如下:
Color clr = Color.FromRgb(0, 255, 255); SolidColorBrush brush = new SolidColorBrush(clr); Background = brush;
等待完善
时间: 2024-11-05 16:08:47