Поделиться через


Visual Класс

Определение

Обеспечивает поддержку отрисовки в 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 и во многих отношениях может рассматриваться как эквивалент дескриптора окна (HWND) в модели приложений Win32.

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

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

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

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

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

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

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

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

  • Макет

  • Стили

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

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

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

Схема классов, производных от визуального объекта
Иерархия класса 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)

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

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