Visual Класс

Определение

Обеспечивает поддержку отрисовки в WPF, в том числе проверку нажатия, преобразование координат и расчеты ограничивающих прямоугольников.

public ref class Visual abstract : System::Windows::DependencyObject
public abstract class Visual : System.Windows.DependencyObject
type Visual = class
    inherit DependencyObject
type Visual = class
    inherit DependencyObject
    interface DUCE.IResource
Public MustInherit Class Visual
Inherits DependencyObject
Наследование
Производный

Комментарии

VisualКласс является базовой абстракцией, из которой FrameworkElement наследуется каждый объект. Он также выступает в качестве точки входа для написания новых элементов управления в WPF, и во многих отношениях может рассматриваться как эквивалент дескриптора окна (HWND) в модели приложения Win32.

VisualОбъект является основным объектом WPF, первичной ролью которого является предоставление поддержки отрисовки. Элементы управления пользовательского интерфейса, такие как Button и TextBox , являются производными от Visual класса и используют Visual определенные свойства для сохранения данных отрисовки. VisualОбъект обеспечивает поддержку следующих объектов:

  • Отображение выходных данных: визуализация сохраненного, сериализованного содержимого визуального элемента.

  • Преобразование: поддерживает преобразование визуального элемента.

  • Отсечение: позволяет указать область отсечения для визуального элемента.

  • Проверка нажатия: определение того, содержится ли заданная координата (точка) или геометрия внутри границ визуального элемента.

  • Вычисление ограничивающего прямоугольника: определение ограничивающего прямоугольника визуального объекта.

В архитектуре Visual объект не включает поддержку других требований к разработке приложений и функций WPF, которые не связаны непосредственно с его отрисовкой, например следующие:

  • Обработка событий

  • Макет

  • Стили

  • привязка данных,

  • Глобализация

Visual предоставляется в виде открытого абстрактного класса, от которого могут быть производными другие классы. На следующем рисунке показана иерархия существующих визуальных объектов, определенных в архитектуре WPF.

Схема классов, производных от Visual-объекта
Иерархия класса Visual

В некоторых случаях члены, определенные как защищенные, 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, который определяет способ отображения ClearType в Visual.

VisualClip

Возвращает или задает отсеченную область объекта Visual в виде значения Geometry.

VisualEdgeMode

Возвращает или задает края объекта Visual в виде значения EdgeMode.

VisualEffect

Получает или задает эффект растрового изображения, который применяется к объекту Visual.

VisualOffset

Возвращает или задает значение смещения визуального объекта.

VisualOpacity

Получает или задает значение прозрачности для объекта Visual.

VisualOpacityMask

Возвращает или задает значение Brush, которое представляет маску непрозрачности объекта Visual.

VisualParent

Получает для визуального объекта родительский объект визуального дерева.

VisualScrollableAreaClip

Получает или задает обрезанную прокручиваемую область для объекта Visual.

VisualTextHintingMode

Получает или задает TextHintingMode объекта Visual.

VisualTextRenderingMode

Получает или задает TextRenderingMode объекта Visual.

VisualTransform

Получает или задает значение Transform для объекта Visual.

VisualXSnappingGuidelines

Получает или задает коллекцию направляющих по оси X (по вертикали).

VisualYSnappingGuidelines

Получает или задает коллекцию горизонтальных направляющих (по оси Y).

Методы

AddVisualChild(Visual)

Определяет связь "родитель-потомок" между двумя визуальными объектами.

CheckAccess()

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)
ClearValue(DependencyProperty)

Очищает локальное значение свойства. Очищаемое свойство задается идентификатором DependencyProperty.

(Унаследовано от DependencyObject)
ClearValue(DependencyPropertyKey)

Очищает локальное значение доступного только для чтения свойства. Очищаемое свойство задается ключом DependencyPropertyKey.

(Унаследовано от DependencyObject)
CoerceValue(DependencyProperty)

Приводит значение указанного свойства зависимостей. Это осуществляется путем вызова какой-либо функции CoerceValueCallback, указанной в метаданных свойства зависимостей, которое существует в вызывающем объекте DependencyObject.

(Унаследовано от DependencyObject)
Equals(Object)

Определяет, является ли указанный DependencyObject эквивалентом текущего DependencyObject.

(Унаследовано от DependencyObject)
FindCommonVisualAncestor(DependencyObject)

Возвращает общего предка двух визуальных объектов.

GetHashCode()

Возвращает хэш-код для данного объекта DependencyObject.

(Унаследовано от DependencyObject)
GetLocalValueEnumerator()

Создает специализированный перечислитель для определения свойств зависимостей, которые локально установили значения для данного DependencyObject.

(Унаследовано от DependencyObject)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetValue(DependencyProperty)

Возвращает текущее действующее значение свойства зависимостей в этом экземпляре DependencyObject.

(Унаследовано от DependencyObject)
GetVisualChild(Int32)

Возвращает указанный объект Visual в родительскую коллекцию VisualCollection.

HitTestCore(GeometryHitTestParameters)

Определяет, находится ли значение, соответствующее геометрии, в пределах границ визуального объекта.

HitTestCore(PointHitTestParameters)

Определяет, находится ли значение, соответствующее координате точки, в пределах границ визуального объекта.

InvalidateProperty(DependencyProperty)

Повторно вычисляет действующее значение для указанного свойства зависимостей.

(Унаследовано от DependencyObject)
IsAncestorOf(DependencyObject)

Определяет, является ли визуальный объект предком потомка визуального объекта.

IsDescendantOf(DependencyObject)

Определяет, является ли визуальный объект потомком для предка визуального объекта.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnDpiChanged(DpiScale, DpiScale)

Вызывается, когда изменяется параметр "точек на дюйм", по которому определяется разрешение представления.

OnPropertyChanged(DependencyPropertyChangedEventArgs)

Вызывается каждый раз, когда обновляется действительное значение любого свойства зависимостей для данного DependencyObject. Конкретное измененное свойство зависимостей сообщается в данных события.

(Унаследовано от DependencyObject)
OnVisualChildrenChanged(DependencyObject, DependencyObject)

Вызывается при изменении коллекции VisualCollection визуального объекта.

OnVisualParentChanged(DependencyObject)

Вызывается при изменении родительского объекта визуального объекта.

PointFromScreen(Point)

Преобразовывает объект Point в экранных координатах в объект Point, представляющий текущую систему координат Visual.

PointToScreen(Point)

Преобразовывает объект Point, представляющий текущую систему координат объекта Visual, в объект Point в экранных координатах.

ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если таковое существует.

(Унаследовано от DependencyObject)
RemoveVisualChild(Visual)

Удаляет связь "родитель-потомок" между двумя визуальными объектами.

SetCurrentValue(DependencyProperty, Object)

Задает значение свойства зависимостей, не меняя источник значения.

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей, указанного идентификатором этого свойства.

(Унаследовано от DependencyObject)
SetValue(DependencyPropertyKey, Object)

Задает локальное значение свойства зависимости только для чтения, определяемое идентификатором DependencyPropertyKey свойства зависимостей.

(Унаследовано от DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Возвращает значение, которое указывает, следует ли процессам сериализации выполнять сериализацию значения для предоставленного свойства зависимостей.

(Унаследовано от DependencyObject)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TransformToAncestor(Visual)

Возвращает преобразование, которое может использоваться для преобразования координат этого объекта Visual в координаты заданного предка визуального объекта Visual.

TransformToAncestor(Visual3D)

Возвращает преобразование, которое может использоваться для преобразования координат этого объекта Visual в координаты заданного предка визуального объекта Visual3D.

TransformToDescendant(Visual)

Возвращает преобразование, которое может использоваться для преобразования координат этого объекта Visual в координаты заданного потомка визуального объекта.

TransformToVisual(Visual)

Возвращает преобразование, которое может использоваться для преобразования координат этого объекта Visual в координаты заданного визуального объекта.

VerifyAccess()

Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)

Применяется к

См. также раздел