zoukankan      html  css  js  c++  java
  • WPF学习(1)WPF概述

    WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。--来自百度

    WPF是microsoft继Winform之后的又一用户界面设计框架,和Windows Communication Foundation(WCF)、Windows Workflow Foundation(WF)一起随.Net 3.0发布。WPF是当前众多优秀技术的集大成者,有很多的亮点。

    广泛整合

    在WPF以前,Windows开发人员在使用2D,3D,视频等技术时都要学习其他的技术才能完成任务。比如要学习GDI/GDI+来使用2D图形,学习Direct3D/OpenGL来使用3D,学习Flex/Flash来使用视频,这无疑增加了开发人员的学习成本。而WPF的出现,恰好整合了这些技术。对于开发人员来说,确实是一种福音。

    与分辨率无关

    为了充分利用新的强有力的图形硬件,WPF实现了一个基于矢量的组合引擎。我们知道,非矢量的图片(如jpg)在放缩过程中会出现失真,而矢量图片(如gif,png)却不会。使用WPF使得你缩小和放大屏幕上的元素时不用考虑屏幕的分辨率。

    声明式编程

    WPF使用XAML(Extensible Application Markup Language)来进行用户界面的设计,这让做过WebForm开发的程序员找到了熟悉的感觉。而且,这将有助于界面设计和逻辑代码编写的分离,界面设计者和逻辑代码编写者之间事先做一些约定,然后界面设计者就可以使用Expression Blend来设计界面,同时逻辑代码编写者写后台逻辑。这种开发方式,大大的提高了开发速度。

    易于部署

    WPF是构建在ClickOnce之上的,这使得WPF的Web浏览器程序的部署支持性更好。同时,WPF也可以使用Windows Installer来部署WPF应用程序。WPF的浏览器应用程序运行在一个沙箱中,这更好地防止了出于恶意目的对客户端电脑的损害的行为。

    文档可移植性

    令人激动的是,WPF包含了一系列新的文档打印技术。联合Microsoft Office 12的发行,WPF使用Open Packaging Conventions,这是一种支持压缩、可自定义元数据、数字签名和权限管理等的标准。WPF所包含的XPS是一种和PDF类似的技术,它允许文档在不安装任何打开程序的条件下可以跨计算机被分享。

    体系结构

    其中需要说明的是milcore.dll,它是渲染系统的核心,也是Windows Vista之后的核心系统组件。比如桌面窗口管理器(Desktop Window Manager,DWM)就是使用这个程序集来渲染桌面。

    类层次结构

    1.DependencyObject类

    通过继承它,可以获得对依赖属性(DependencyProperty)的支持。

    2.Visual类

    任何继承它的类,都可以在窗口显示出来。

    3.UIElement类

    它为WPF的本质特征(LIFE,即布局,输入,焦点,事件)提供支持。

    4.FrameworkElement类

    它实现了UIElement类中的一些成员,并进行了一些功能扩展。

    5.Panel类

    它是所有布局容器(如StackPanel,DockPanel)的基类。

    6.Control类

    主要是一些和用户交互的控件,包含内容控件,条目控件,装饰控件等。

    总结

    这里主要是WPF的一些概念性东西,大部分来源于书籍,通过整理,有个大概的了解。

  • 相关阅读:
    防止头文件的重复包含问题
    git常用命令
    redis
    linux常用操作
    数据库安装
    mysql修改表结构
    mysql 忘记root密码及授权访问
    mysql连表查询
    mysql 存取ip方法
    php批量修改表结构
  • 原文地址:https://www.cnblogs.com/jellochen/p/3404070.html
Copyright © 2011-2022 走看看