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 功能的支持,如下所示:
事件处理
Layout
样式
数据绑定
全球化
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 |
获取与此 Dispatcher 关联的 DispatcherObject。 (继承自 DispatcherObject) |
IsSealed |
获取一个值,该值指示此实例当前是否为密封的(只读)。 (继承自 DependencyObject) |
VisualBitmapEffect |
已过时.
已过时.
获取或设置 BitmapEffect 的 Visual 值。 |
VisualBitmapEffectInput |
已过时.
已过时.
获取或设置 BitmapEffectInput 的 Visual 值。 |
VisualBitmapScalingMode |
获取或设置 BitmapScalingMode 的 Visual。 |
VisualCacheMode |
获取或设置 Visual 的缓存表示形式。 |
VisualChildrenCount |
获取 Visual 的子元素数量。 |
VisualClearTypeHint |
获取或设置 ClearTypeHint,它确定在 Visual 中呈现 ClearType 的方式。 |
VisualClip | |
VisualEdgeMode | |
VisualEffect |
获取或设置要应用于 Visual 的位图效果。 |
VisualOffset |
获取或设置可视对象的偏移量值。 |
VisualOpacity |
获取或设置 Visual 的不透明度。 |
VisualOpacityMask | |
VisualParent |
获取可视对象的可视化树父级。 |
VisualScrollableAreaClip |
获取或设置 Visual 的剪辑的可滚动区域。 |
VisualTextHintingMode |
获取或设置 Visual 的 TextHintingMode。 |
VisualTextRenderingMode |
获取或设置 Visual 的 TextRenderingMode。 |
VisualTransform | |
VisualXSnappingGuidelines |
获取或设置 x 坐标(垂直)准线集合。 |
VisualYSnappingGuidelines |
获取或设置 Y 坐标(水平)准线集合。 |