wpf

Wpf开发的关键概念是设计和功能几乎完全分开

一些高级功能:

浮点数坐标和矢量图提供的布局可以缩放,旋转和变换,且没有质量损失

2D和3D高级渲染功能

字体的高级处理和渲染

UI对象的纯色,渐变色和纹理填充,且可以设置透明度

动画故事版功能,可以用于所有情形,包括用户触发的事件

可重用的资源,以动态设置控件的样式

Xaml语法:对象元素语法,特性语法,属性元素语法,内容语法,标记扩展

依赖属性特性:

可以使用样式改变依赖属性的值

可以使用资源或通过数据绑定设置依赖属性的值

可以改变动画中依赖属性的值

可以在xaml中按层次设置依赖属性

使用定义好的编码模式可以配置属性值改动的通知

可以配置一系列相关属性,在改变其中一个属性值时,他们就会全部更新

可以把元数据用于依赖属性,指定其他行为特征

关联属性是一种属性,定义这个属性的类的实例的每个子对象都可以访问它

路由事件由控件层次结构中的所有对象按指定顺序引发,可以完全控制响应他们的方式

可以在一个事件中促发多个事件处理方法

事件在控件的层次结构中向下移动时,称为通道,向上移动时称为冒泡

Wpf在遇到单击测试时,会区分控件的透明区域和空区域,只有透明区域会响应单击测试

使用关联事件可以在没有提供该事件的控件上处理这些事件

布局:所有的内容布局控件都派生于抽象类panel,这个类仅定义了一个容器,该容器可以包含派生于uielement的对象集合,所有的wpf控件都派生于uielement。一些派生于panel的布局控件:

Canvas,这个控件可以按任意方式定位子控件,定位没有任何限制,也没有任何帮助

DockPanel,这个控件可以把子控件停靠在它的4条边上,最后一个子控件会占用剩余的空间

Grid,可以布局行和列,使控件在栅格布局中对齐

WrapPanel,这个控件以水平或垂直布局来布置其子控件,但不是仅在单行或单列上布置控件,而是根据可用空间,允许把子控件放在多行或多列上

StackPanel可看作是dockPanel的删节版本,最后一个控件不会填满剩余空间

注意控件如何以堆栈顺序显示

样式是成批应用于控件的属性组

模版是用于建立控件外观的控件,样式可以包含模版

Wpf控件有Style属性,具有高级样式化功能,但其核心是一组setter对象

控件的模版存储在template属性中

每个控件都有triggers属性,用于直接在该控件上定义触发器,也可以在该层次结构中进一步定义触发器

Trigger对象配置如下:

要定义trigger对象监控的属性,使用trigger.property属性

要定义trigger对象的激活时间,设置trigger.value属性

要定义trigger对象执行的动作,把trigger.setters属性设置为setters对象集合

资源定义为resourceDictionary对象中的项,这是指定了键的对象集合,引用的时候用到键名

分为静态引用和动态引用

{staticresource resourcename}

{dynamicresource resourcename}

原文地址:https://www.cnblogs.com/ongoing/p/2798385.html