• 1 WPF架构


    WPF使用一个多层次的架构。在顶部,你的应用与高层的服务相互作用,这些服务完全以托管的C#代码书写。在幕后,使用一个低层的非托管组件milcore.dll翻译.NET对象到Direct3D纹理和三角形。milcore.dll使用非托管代码实现,因为它需要紧密地整合Direct3D,还因为它对性能极端敏感。

    PresentationFramework.dll

    它持有顶层的WPF类型,包括windows,panels,和其它的控件类型。它也实现诸如Style等高层程序抽象。你将用到的大多数类都来自于这个装配体。

    PresentationCore.dll

    它持有诸如UIElement和Visual等基类,所有的形状和控件派生自这些基类。如果你不需要完整的window和control抽象层,你能下降到这层,仍利用WPF的呈现引擎。

    WindowsBase.dll

    这持有更基本成分,有可能重用在WPF之外,诸如DispatcherObject和DependencyObject,它们引进依赖属性的基本架构。

    类层次

    System.Threading.DispatcherObject

    可以获知代码是否运行在正确的线程上,通过调度器封送代码到用户界面线程。

    System.Windows.DependencyObject

    支持改变通知,默认值继承,和更多经济的属性存储。从这个类派生,就获得了对依赖属性的支持。

    System.Windows.Media.Visual

    Visual类的派生类能够显示在窗口中。

    System.Windows.UIElement

    支持布局、输入、焦点和事件等WPF要素,还支持路由事件,命令等。

    System.Windows.FrameworkElement

    FrameworkElement是继承树的最后一站。它添加了一些更具体的布局属性如:HorizontalAlignment,Margin。还支持数据绑定,动画,和样式。

    System.Windows.Controls.Control

    控件是能和用户交互的元素。控件类支持模板。

    System.Windows.Controls.ContentControl

    System.Windows.Controls.ItemsControl

    System.Windows.Controls.Panel

  • 相关阅读:
    04_特征工程
    03_特征清洗
    02_数据探索
    01_简介
    cache是什么文件?
    gulp详细入门教程
    HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)
    h4和h5的区别
    弹性盒布局
    js面向对象
  • 原文地址:https://www.cnblogs.com/cuishengli/p/3110714.html
Copyright © 2020-2023  润新知