知识大全 WPF基础教程之基元素
Posted 属性
篇首语:你今天的日积月累,早晚会成为别人的望尘莫及。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 WPF基础教程之基元素相关的知识,希望对你有一定的参考价值。
WPF基础教程之基元素 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Windows Presentation Foundation (WPF) 中的大部分类都从四个类派生而来 这四个类在 SDK 文档中常常被称为基元素类 这些类包括 UIElement FrameworkElement ContentElement 和 FrameworkContentElement DependencyObject 也是一个相关类 因为它是 UIElement 和 ContentElement 的通用基类
WPF 类中的基元素 API UIElement 和 ContentElement 都是从 DependencyObject 派生而来 但途径略有不同 此级别上的拆分涉及到 UIElement 或 ContentElement 如何在用户界面上使用 以及它们在应用程序起到什么作用 UIElement 在其类层次结构中也有 Visual 该类为 Windows Presentation Foundation (WPF) 公开较低级别的图形支持 Visual 通过定义独立的矩形屏幕区域来提供呈现框架 实际上 UIElement 适用于支持大型数据模型的元素 这些元素用于在可以称为矩形屏幕区域的区域内进行呈现和布局 在该区域内 内容模型特意设置得更加开放 以允许不同的元素进行组合 ContentElement 不是从 Visual 派生的 它的模型由其他对象(例如 阅读器或查看器 用来解释元素并生成完整的 Visual 供 Windows Presentation Foundation (WPF) 使用)来使用 ContentElement 某些 UIElement 类可用作内容宿主 它们为一个或多个 ContentElement 类(如 DocumentViewer)提供宿主和呈现 ContentElement 用作以下元素的基类 所具有的对象模型较小 并且多用于寻址可能宿主在 UIElement 中的文本 信息或文档内容
框架级和核心级 UIElement 用作 FrameworkElement 的基类 ContentElement 用作 FrameworkContentElement 的基类 对于此下一级类 原因是要支持与 WPF 框架级相分离的 WPF 核心级 这种分离还存在于 API 如何在 PresentationCore 和 PresentationFramework 程序集之间进行划分 WPF 框架级为基本应用程序需要提供了一个更完整的解决方案 包括用于表示的布局管理器的实现 WPF 核心级提供了一种方法 以充分利用 WPF 而又不至于产生附加程序集开销 对于大多数典型的应用程序开发方案而言 这些级别之间的区别很少有影响 而且一般情况下应将 WPF API 视为一个整体 而无需担心 WPF 框架级与 WPF 核心级之间有何区别 如果您的应用程序设计选择替换大量 WPF 框架级功能 例如 如果您的整体解决方案已经有其自己的用户界面 (UI) 组合和布局实现 则可能需要了解级别之间的差异
选择从哪个元素派生 创建用于扩展 WPF 的自定义类的最实用方法是从某个 WPF 类中派生 这样您可以通过现有的类层次结构获得尽可能多的所需功能 本节列出了三个最重要的元素类附带的功能 以帮助您决定要从哪个类进行派生
如果您要实现控件(这的确是从 WPF 类派生的更常见的原因之一) 您可能需要从以下类中派生 实际控件 控件系列基类或至少是 Control 基类
如果您不是创建控件 并且需要从层次结构中较高的类进行派生
则可以参考下列各节的内容 了解每个基元素类定义了哪些特征
如果您创建从 DependencyObject 派生的类 则将继承以下功能
GetValue 和 SetValue 支持以及一般的属性系统支持
使用依赖项属性以及作为依赖项属性实现的附加属性的能力
如果您创建从 UIElement 派生的类 则除了能够继承 DependencyObject 提供的功能外 还将继承以下功能
对动画属性值的基本支持
对基本输入事件和命令的支持
可以重写以便为布局系统提供信息的虚方法
如果您创建从 FrameworkElement 派生的类 则除了能够继承 UIElement 提供的功能外 还将继承以下功能
对样式设置和演示图板的支持
对数据绑定的支持
对动态资源引用的支持
对属性值继承以及元数据中有助于向框架服务报告属性的相关情况(如数据绑定 样式或布局的框架实现)的其他标志的支持
逻辑树的概念
对布局系统的实际 WPF 框架级实现的支持 包括 OnPropertyChanged 重写(该重写可以检测到影响布局的属性更改)
如果您创建从 ContentElement 派生的类 则除了能够继承 DependencyObject 提供的功能外 还将继承以下功能
对动画的支持
对基本输入事件和命令的支持
如果您创建从 FrameworkContentElement 派生的类 则除了能够继承 ContentElement 提供的功能外 还将获得以下功能
对样式设置和演示图板的支持
对数据绑定的支持
对动态资源引用的支持
对属性值继承以及元数据中有助于向框架服务报告属性情况(如数据绑定 样式或布局的框架实现)的其他标志的支持
您不会继承对布局系统修改(如 ArrangeOverride)的访问权限 布局系统实现只在 FrameworkElement 上提供 但是 您会继承 OnPropertyChanged 重写(可以检测影响布局的属性更改并将这些更改报告给任何内容宿主)
记录了各种类的内容模型 如果您要找到一个合适的类以便从该类进行派生 其内容模型是一个应该考虑的可能因素
其他基类
DispatcherObjectDispatcherObject 为 WPF 线程模型提供支持 并允许为 WPF 应用程序创建的所有对象与 Dispatcher 相关联 即使您不从 UIElement DependencyObject 或 Visual 派生 也应考虑从 DispatcherObject 派生 以获得此线程模型支持
VisualVisual 实现二维对象在近似矩形的区域中通常需要具有可视化表示的概念 Visual 的实际呈现发生在其他类中(不是独立的) 但是 Visual 类提供了一个由各种级别的呈现处理使用的已知类型 Visual 实现命中测试 但它不公开报告命中测试结果的事件(这些都位于 UIElement 中)
FreezableFreezable 通过在出于性能原因需要不可变对象时提供为对象生成副本的途径 来模拟可变对象的不变性 Freezable 类型为某些图形元素(如几何形状 画笔以及动画)提供了一个通用的基础 值得注意的是 Freezable 不是一个 Visual 当应用 Freezable 以填充另一个对象的属性值时 它包含的属性将变成子属性 而这些子属性可能会影响呈现
AnimatableAnimatable 是一个 Freezable 派生类 它特别添加了动画控件层和某些实用工具成员 从而使当前动画的属性可以与未动画的属性区分开
cha138/Article/program/ASP/201311/21854相关参考
WPF基础教程之XAML 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本主题介绍可扩展应用程序
社保是民生之基,当前加强社会保障,重点是推进_____制度改革。A、保险B、救助C、福利D、分配答案:B解析:=2014年李克强总理在政府工作报告中指出,社保是民生之基,2014年重点是推进社会救助制
WPF的图形呈现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本主题概述WPF可视化层本主题重
用WPF实现屏幕文字提示的实现方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本文介绍WPF应用
WPF的三维变换应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本主题描述如何向Window
WPF控件库之Toolbar 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ToolBar控件是
WPF数据绑定之绑定声明 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本主题讨论声明绑定的不同
在MFC中使用WPF技术 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一介绍 本文将以一个实
WPF程序员武器库图片按钮 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一般漂亮点的软件界面都
始终做到“三个代表,”是我们党的立党之本、执政之基、力量之源。这里的“本”“基”“源”是指__
始终做到“三个代表,”是我们党的立党之本、执政之基、力量之源。这里的“本”“基”“源”是指_____。A、人民群众的支持和拥护B、不断解放和发展生产力C、增强国家的经济实力D、不断创新、与时俱进答案: