Visual 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在WPF提供呈现支持,其中包括命中测试、坐标转换和边界框计算。
public ref class Visual abstract : System::Windows::DependencyObject
public abstract class Visual : System.Windows.DependencyObject
type Visual = class
inherit DependencyObject
interface DUCE.IResource
type Visual = class
inherit DependencyObject
Public MustInherit Class Visual
Inherits DependencyObject
- 继承
- 派生
注解
Visual 类是每个 FrameworkElement 对象派生的基本抽象。 它还充当在 WPF 中编写新控件的入口点,在 Win32 应用程序模型中,可以将其视为窗口句柄(HWND)的等效项。
Visual 对象是核心 WPF 对象,其主要角色是提供呈现支持。 用户界面控件(如 Button 和 TextBox)派生自 Visual 类,并使用 Visual 定义的属性来保存其呈现数据。 该 Visual 对象提供对以下内容的支持:
输出显示:呈现视觉对象的持久、序列化的绘图内容。
转换:针对视觉对象执行转换。
剪裁:为视觉对象提供剪裁区域支持。
命中测试:确定指定坐标(点)还是几何图形包含在视觉对象的边界内。
边框计算:确定视觉对象的边框。
在体系结构上, Visual 该对象不包括对其他应用程序开发要求/WPF 功能的支持,这些功能与其呈现不立即相关,如下所示:
事件处理
版式
样式
数据绑定
全球化
Visual 作为公共抽象类提供,可从中派生进一步类。 下图显示了 WPF 体系结构中定义的现有视觉对象的层次结构。
视觉对象类层次结构
在某些情况下,定义为受保护的 Visual 成员公开为派生 UIElement 类中具有类似名称的更容易访问的成员。
有关详细信息,请参阅 WPF 图形呈现概述。
级别 Visual 有限。 在早期版本的 .NET Framework 中,此最大深度为 255。 对于可视化树中具有许多级别的某些布局,此限制不足。
在 .NET Framework 4 中,最大深度 Visual 为 2047,可实现更深的可视化树。 在大多数应用程序中,没有足够的堆栈空间遍历这么多级别,结果是 StackOverflowException 布局过程中的结果。 对于默认堆栈大小,当树深度约为 800(对应于大约 190 个嵌套 TreeViewItem 对象)时,通常会引发此异常。
如果应用程序引发此异常,并且需要有更深入的可视化树,则可以增加应用程序的堆栈大小。 可以在编译时使用 /STACK 选项或使用 EDITBIN 实用工具来增加堆栈的大小。 增加堆栈大小可能会影响应用程序的性能。 有关详细信息,请参阅 堆栈分配 和 EDITBIN 选项。
构造函数
| 名称 | 说明 |
|---|---|
| Visual() |
为派生自 Visual 类的对象提供基初始化。 |
属性
| 名称 | 说明 |
|---|---|
| DependencyObjectType |
获取包装 DependencyObjectType 此实例的 CLR 类型。 (继承自 DependencyObject) |
| Dispatcher |
获取与此DispatcherDispatcherObject关联的值。 (继承自 DispatcherObject) |
| IsSealed |
获取一个值,该值指示此实例当前是否密封(只读)。 (继承自 DependencyObject) |
| VisualBitmapEffect |
已过时.
已过时.
获取或设置 BitmapEffectVisual.. |
| VisualBitmapEffectInput |
已过时.
已过时.
获取或设置 BitmapEffectInputVisual.. |
| VisualBitmapScalingMode |
获取或设置 .BitmapScalingModeVisual |
| VisualCacheMode |
获取或设置缓存的 Visual表示形式。 |
| VisualChildrenCount |
获取该 Visual元素的子元素数。 |
| VisualClearTypeHint |
获取或设置 ClearTypeHint 确定 ClearType 在 Visual中的呈现方式。 |
| VisualClip | |
| VisualEdgeMode | |
| VisualEffect |
获取或设置要应用于的 Visual位图效果。 |
| VisualOffset |
获取或设置视觉对象的偏移值。 |
| VisualOpacity |
获取或设置 . Visual的不透明度。 |
| VisualOpacityMask | |
| VisualParent |
获取视觉对象的可视化树父级。 |
| VisualScrollableAreaClip |
获取或设置剪裁的 Visual可滚动区域。 |
| VisualTextHintingMode |
获取或设置 TextHintingMode 的 Visual。 |
| VisualTextRenderingMode |
获取或设置 TextRenderingMode 的 Visual。 |
| VisualTransform | |
| VisualXSnappingGuidelines |
获取或设置 x 坐标(垂直)准则集合。 |
| VisualYSnappingGuidelines |
获取或设置 y 坐标(水平)准则集合。 |