zoukankan      html  css  js  c++  java
  • WPF学习:WPF概述

      WPF(Windows Presentation Foundation) Windows演示基础。

    1.Windows 图形演化

      众所周知,Windows利用User32和GDI/GDI+来穿件用户界面,但是,WPF的图形界面是以DirectX为基础的,DirectX可以理解高层次的元素,例如纹理和渐变,这些元素可以由显卡直接渲染,所以,DirectX效率很高,充分利用了显卡,大大减轻了CPU的负担,使CPU可以专心做其他事情。

    2.WPF的新特征

       (1)类似Web的布局模型:利用特定坐标进行精确的界面布局

       (2)丰富的绘图模型:

       (3)丰富的文本模型

       (4)作为首要概念的动画

       (5)支持音频和视频媒体

       (6)样式和模版

       (7)命令 通过代码抽象,可在特定的位置定义应用程序命令并将它连接到多个空间上。

       (8)声明式用户界面  用户界面和代码完全分离,由图形设计人员可以使用专用工具编辑XAML文件,并最终改进应用程序的前端界面。

        (9) 基于页面的应用程序

    3.WPF 分辨率无关性

       传统的Windows应用程序的用户界面是不可伸缩的。所有,如果使用更高的显示器分辨率,像素会排列得更紧密,应用程序窗口将变得更小并且更加难以阅读。

    但在WPF中,WPF自己渲染所用的用户界面元素,从简单的 形状到通用的控件。所以,如果在计算机显示器上创建一个1英寸宽的按钮,在更高分辨率的显示器上它仍然能够保持1英寸的宽度-WPF只是使用更多的像素更详细的渲染这个按钮罢了。

    4.WPF体系结构

       

      

    在顶层,应用程序和一个完全由托管的C#代码编写的一组高层服务进行交互。至于将.NET对象转换为DirectX3D纹理和三角形的实际工作,是在后台由一个名为milcore.dll的低级的非托管组件完成的。milcore.dll是使用托管代码实现的。

    PresentationFramework.dll包含了WPF顶层的类型,包含那些表示窗口、面板以及其他类型空间的类型。

    PresentationCore.dll包含了基础类型,入UIElement类和Visual类,所有形状类和控件类都继承自这两个类。

    WindowBase.dll包含了更多基本元素,包括DispatcherObject类和DependencyObject类。

    milcore.dll是WPF渲染系统的核心,也是媒体继承层(Media integration Layer,MIL)的基础。其合成引起将可视化元素转换为Direct3D所期望的三角形和纹理。

    WindowsCodecs.dll是一套提供图像支持的低级API

    Direct3D是一套低级API,WPF应用程序中的所有图像都由它进行渲染。

    User32用于决定哪些程序事件占有桌面的哪一部分

    5.WPF核心类

    1.System.Threading.DispatcherObject类

    通过基础自DispatcherObject类,用户界面中的每个元素都可以检查代码是否在正确的线程上远行,并且可以访问调度程序为用户界面线程封送代码

    2.System.Windows.DependencyObject类

    依赖属性相关的类

    3.System.Windows.Media.Visual类

    WPF窗口中显示的每一个元素,本质上都是一个Visual对象

    4.System.Windows.UIElement类

     本类为WPF的本质特征提供支持,如布局、输入、焦点以及事件

    5.System.Windows.FrameworkElement类

    该类实现了一些全部由UIElement类定义的成员

    6.System.WIndows.Shapes.Shape类

    基本的形状类

    7.System.Windows.Controls.Control类

     控件是可以与用户进行交互的元素

    8.System.Windows.Controls.ContentControl类

      ContentControl类是所有具有单一内容的控件的基类

    9.System.Windows.Controls.ItemsControl类

    ItemsCOntrol类是所有显示选项集合的控件的基类

    10.System.Windows.Controls.Panel类

    容器类

  • 相关阅读:
    Eclipse 添加行号
    http中 get方法 传送中文参数乱码解决办法
    第一章 java 语言概述
    Python学习
    Python学习
    Python学习
    Python学习
    Python学习
    Python学习
    Python学习
  • 原文地址:https://www.cnblogs.com/lufangtao/p/2638821.html
Copyright © 2011-2022 走看看