zoukankan      html  css  js  c++  java
  • 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}

  • 相关阅读:
    eclipse快捷键
    go 中 var声明对比
    Post 中 Body 的 ContentType 用 Postman 举例
    MongoDB随笔(二) mongorestore恢复数据库
    MongoDB随笔(零) mongod配置 ...不断完善...会变得很长很长很长……
    MongoDB随笔(一)mac OSX下brew安装MongoDB
    mac OSX的 brew软件包管理器 相当于 centos下的yum
    2021-01-27 解决mac使用brew update更新无反应的问题(切换git地址)
    Ruby中实现module继承
    redmine问题集锦
  • 原文地址:https://www.cnblogs.com/ongoing/p/2798385.html
Copyright © 2011-2022 走看看