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

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

  • Преобразования: выполнение преобразований в визуальном элементе.

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

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

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

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

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

  • Макет

  • Стили

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

  • Globalization

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

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

В некоторых случаях члены, определенные как защищенные в Visual , предоставляются как более легко доступные члены с аналогичными именами в производном UIElement классе.

Дополнительные сведения см. в обзоре отрисовки графики WPF.

A 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

Возвращает или задает пограничный режим VisualEdgeMode значения.

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)

Вызывается при изменении DPI, в котором отображается это представление.

OnPropertyChanged(DependencyPropertyChangedEventArgs)

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

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

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

OnVisualParentChanged(DependencyObject)

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

PointFromScreen(Point)

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

PointToScreen(Point)

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

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)

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

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