Visual Klasa

Definicja

Zapewnia obsługę renderowania w programie WPF, która obejmuje testowanie trafień, transformację współrzędnej i obliczenia pól ograniczenia.Provides rendering support in WPF, which includes hit testing, coordinate transformation, and bounding box calculations.

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
Dziedziczenie
Pochodne

Uwagi

Klasa Visual jest podstawową abstrakcją, z której każdy obiekt FrameworkElement dziedziczy.The Visual class is the basic abstraction from which every FrameworkElement object derives. Służy również jako punkt wejścia do pisania nowych kontrolek w WPFWPF, a na wiele sposobów można traktować jako odpowiednik uchwytu okna (HWND) w modelu Win32Win32 aplikacji.It also serves as the entry point for writing new controls in WPFWPF, and in many ways can be thought of as an equivalent of a window handle (HWND) in the Win32Win32 application model.

Obiekt Visual jest podstawowym obiektem WPFWPF, którego podstawową rolą jest zapewnienie obsługi renderowania.The Visual object is a core WPFWPF object, whose primary role is to provide rendering support. Kontrolki interfejsu użytkownika, takie jak Button i TextBox, pochodzą z klasy Visual i używają Visual zdefiniowanych właściwości na potrzeby utrwalania danych renderowania.User interface controls, such as Button and TextBox, derive from the Visual class, and use the Visual defined properties for persisting their rendering data. Obiekt Visual zapewnia obsługę następujących funkcji:The Visual object provides support for the following:

  • Wyświetlanie danych wyjściowych: renderowanie utrwalonej i serializowanej zawartości rysunku wizualizacji.Output display: Rendering the persisted, serialized drawing content of a visual.

  • Przekształcenia: wykonywanie transformacji na wizualizacji.Transformations: Performing transformations on a visual.

  • Przycinanie: zapewnianie obsługi regionu przycinania dla wizualizacji.Clipping: Providing clipping region support for a visual.

  • Testowanie trafień: Określanie, czy określona Współrzędna (punkt) lub geometria jest zawarta w granicach wizualizacji.Hit testing: Determining whether a specified coordinate (point) or geometry is contained within the bounds of a visual.

  • Obliczenia pola ograniczenia: Określanie prostokąta granicy wizualizacji.Bounding box calculations: Determining the bounding rectangle of a visual.

W sposób architektoniczny obiekt Visual nie obejmuje obsługi innych wymagań dotyczących tworzenia aplikacji/WPFWPF funkcji, które nie są bezpośrednio powiązane z renderowaniem, takich jak następujące:Architecturally, the Visual object does not include support for other application development requirements / WPFWPF features that are not immediately related to its rendering, such as the following:

  • Obsługa zdarzeńEvent handling

  • UkładLayout

  • StyleStyles

  • Powiązanie danychData binding

  • GlobalizacjaGlobalization

Visual jest udostępniana jako publiczna klasa abstrakcyjna, z której mogą być wyprowadzane dalsze klasy.Visual is provided as a public abstract class from which further classes can be derived. Na poniższej ilustracji przedstawiono hierarchię istniejących obiektów wizualizacji, które są zdefiniowane w architekturze WPFWPF.The following illustration shows the hierarchy of the existing visual objects that are defined in the WPFWPF architecture.

Diagram klas pochodnych dla obiektu wizualnegoDiagram of classes derived from the Visual object
Hierarchia klas wizualnychVisual class hierarchy

W niektórych przypadkach elementy członkowskie, które są zdefiniowane jako chronione w Visual są ujawniane jako bardziej łatwo dostępne elementy członkowskie o podobnych nazwach w klasie UIElement pochodne.In some cases, members that are defined as protected in Visual are exposed as more readily accessible members with similar names in the derived UIElement class.

Aby uzyskać więcej informacji, zobacz Omówienie renderowania grafiki WPF.For more information, see WPF Graphics Rendering Overview.

Visual ma ograniczoną liczbę poziomów.A Visual has a limited number of levels. W poprzednich wersjach .NET Framework ta Maksymalna głębokość była 255.In previous versions of the .NET Framework, this maximum depth was 255. Ten limit jest nieodpowiedni dla niektórych układów, które mają wiele poziomów w drzewie wizualnym.This limit is inadequate for some layouts that have many levels in the visual tree.

W Program .NET Framework 4.NET Framework 4Maksymalna głębokość Visual to 2047, co pozwala na znacznie dokładniejsze drzewa wizualne.In Program .NET Framework 4.NET Framework 4, the maximum depth of a Visual is 2047, which enables much deeper visual trees. W większości aplikacji jest za mało miejsca na stosie, aby przetworzyć wiele poziomów, a wynikiem jest StackOverflowException podczas układania układu.In most applications, there is not enough stack space to traverse so many levels, and the result is a StackOverflowException during layout. W przypadku domyślnego rozmiaru stosu ten wyjątek jest zwykle generowany, gdy Głębokość drzewa wynosi około 800, co odnosi się do około 190 zagnieżdżonych obiektów TreeViewItem.For the default stack size, this exception is usually thrown when the tree depth is approximately 800, which corresponds to about 190 nested TreeViewItem objects.

Jeśli ten wyjątek jest zgłaszany przez aplikację i trzeba mieć dokładniejsze drzewo wizualne, można zwiększyć rozmiar stosu aplikacji.If this exception is thrown by your application and you need to have a deeper visual tree, you can increase the application's stack size. Rozmiar stosu można zwiększyć przy użyciu opcji/STACK w czasie kompilacji lub przy użyciu narzędzia polecenia EDITBIN.You can increase the size of the stack by using the /STACK option at compile time or by using the EDITBIN utility. Zwiększenie rozmiaru stosu może wpłynąć na wydajność aplikacji.Increasing the stack size may affect your application's performance. Aby uzyskać więcej informacji, zobacz temat Alokacje stosu i Opcje polecenia EDITBIN.For more information, see Stack Allocations and EDITBIN Options.

Konstruktory

Visual()

Zapewnia podstawowe inicjowanie obiektów pochodnych z klasy Visual.Provides the base initialization for objects derived from the Visual class.

Właściwości

DependencyObjectType

Pobiera DependencyObjectType, które zawijają typ CLRCLR tego wystąpienia.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Odziedziczone po DependencyObject)
Dispatcher

Pobiera Dispatcher skojarzone z tym DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Odziedziczone po DispatcherObject)
IsSealed

Pobiera wartość wskazującą, czy to wystąpienie jest aktualnie zapieczętowane (tylko do odczytu).Gets a value that indicates whether this instance is currently sealed (read-only).

(Odziedziczone po DependencyObject)
VisualBitmapEffect

Pobiera lub ustawia wartość BitmapEffect Visual.Gets or sets the BitmapEffect value for the Visual.

VisualBitmapEffectInput

Pobiera lub ustawia wartość BitmapEffectInput Visual.Gets or sets the BitmapEffectInput value for the Visual.

VisualBitmapScalingMode

Pobiera lub ustawia obiekt BitmapScalingMode dla obiektu Visual.Gets or sets the BitmapScalingMode for the Visual.

VisualCacheMode

Pobiera lub ustawia buforowaną reprezentację Visual.Gets or sets a cached representation of the Visual.

VisualChildrenCount

Pobiera liczbę elementów podrzędnych dla Visual.Gets the number of child elements for the Visual.

VisualClearTypeHint

Pobiera lub ustawia ClearTypeHint, które określają sposób renderowania technologii ClearType w Visual.Gets or sets the ClearTypeHint that determines how ClearType is rendered in the Visual.

VisualClip

Pobiera lub ustawia region przycinania Visual jako wartość Geometry.Gets or sets the clip region of the Visual as a Geometry value.

VisualEdgeMode

Pobiera lub ustawia tryb krawędzi Visual jako wartość EdgeMode.Gets or sets the edge mode of the Visual as an EdgeMode value.

VisualEffect

Pobiera lub ustawia efekt mapy bitowej, który ma zostać zastosowany do Visual.Gets or sets the bitmap effect to apply to the Visual.

VisualOffset

Pobiera lub ustawia wartość przesunięcia obiektu wizualnego.Gets or sets the offset value of the visual object.

VisualOpacity

Pobiera lub ustawia nieprzezroczystość Visual.Gets or sets the opacity of the Visual.

VisualOpacityMask

Pobiera lub ustawia wartość Brush reprezentującą maskę nieprzezroczystości Visual.Gets or sets the Brush value that represents the opacity mask of the Visual.

VisualParent

Pobiera element nadrzędny drzewa wizualnego obiektu wizualnego.Gets the visual tree parent of the visual object.

VisualScrollableAreaClip

Pobiera lub ustawia obszar przewijania przycinania dla Visual.Gets or sets a clipped scrollable area for the Visual.

VisualTextHintingMode

Pobiera lub ustawia TextHintingMode Visual.Gets or sets the TextHintingMode of the Visual.

VisualTextRenderingMode

Pobiera lub ustawia TextRenderingMode Visual.Gets or sets the TextRenderingMode of the Visual.

VisualTransform

Pobiera lub ustawia wartość Transform Visual.Gets or sets the Transform value for the Visual.

VisualXSnappingGuidelines

Pobiera lub ustawia kolekcję wytycznych x-współrzędnej (pionowej).Gets or sets the x-coordinate (vertical) guideline collection.

VisualYSnappingGuidelines

Pobiera lub ustawia kolekcję wskazówek dotyczących osi y (w poziomie).Gets or sets the y-coordinate (horizontal) guideline collection.

Metody

AddVisualChild(Visual)

Definiuje relację nadrzędny-podrzędny między dwiema wizualizacjami.Defines the parent-child relationship between two visuals.

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Odziedziczone po DispatcherObject)
ClearValue(DependencyProperty)

Czyści wartość lokalną właściwości.Clears the local value of a property. Właściwość, która ma zostać wyczyszczona, jest określana przez identyfikator DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

(Odziedziczone po DependencyObject)
ClearValue(DependencyPropertyKey)

Czyści wartość lokalną właściwości tylko do odczytu.Clears the local value of a read-only property. Właściwość, która ma zostać wyczyszczona, jest określana przez DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

(Odziedziczone po DependencyObject)
CoerceValue(DependencyProperty)

Przekształca wartość określonej właściwości zależności.Coerces the value of the specified dependency property. W tym celu należy wywołać dowolną funkcję CoerceValueCallback określoną w metadanych właściwości dla właściwości zależności, która istnieje w DependencyObjectwywoływania.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Odziedziczone po DependencyObject)
Equals(Object)

Określa, czy podana DependencyObject jest równoważna z bieżącym DependencyObject.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Odziedziczone po DependencyObject)
FindCommonVisualAncestor(DependencyObject)

Zwraca wspólny element nadrzędny dwóch obiektów wizualnych.Returns the common ancestor of two visual objects.

GetHashCode()

Pobiera kod skrótu dla tego DependencyObject.Gets a hash code for this DependencyObject.

(Odziedziczone po DependencyObject)
GetLocalValueEnumerator()

Tworzy wyspecjalizowany moduł wyliczający służący do określania, które właściwości zależności mają lokalnie ustawione wartości na tej DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Odziedziczone po DependencyObject)
GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
GetValue(DependencyProperty)

Zwraca bieżącą obowiązującą wartość właściwości zależności w tym wystąpieniu DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Odziedziczone po DependencyObject)
GetVisualChild(Int32)

Zwraca określony Visual w VisualCollectionnadrzędnym.Returns the specified Visual in the parent VisualCollection.

HitTestCore(GeometryHitTestParameters)

Określa, czy wartość geometrii znajduje się w granicach obiektu wizualizacji.Determines whether a geometry value is within the bounds of the visual object.

HitTestCore(PointHitTestParameters)

Określa, czy wartość współrzędnej punktu znajduje się w granicach obiektu wizualizacji.Determines whether a point coordinate value is within the bounds of the visual object.

InvalidateProperty(DependencyProperty)

Ponowna ocenuje wartość efektywną dla określonej właściwości zależności.Re-evaluates the effective value for the specified dependency property.

(Odziedziczone po DependencyObject)
IsAncestorOf(DependencyObject)

Określa, czy obiekt wizualny jest elementem nadrzędnym obiektu wizualizacji podrzędnej.Determines whether the visual object is an ancestor of the descendant visual object.

IsDescendantOf(DependencyObject)

Określa, czy obiekt wizualny jest elementem potomnym obiektu wizualizacji nadrzędnej.Determines whether the visual object is a descendant of the ancestor visual object.

MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
OnDpiChanged(DpiScale, DpiScale)

Wywołuje się, gdy zmienia się wartość DPI, w której jest renderowany ten widok.Called when the DPI at which this View is rendered changes.

OnPropertyChanged(DependencyPropertyChangedEventArgs)

Wywoływana za każdym razem, gdy wartość skuteczna każdej właściwości zależności w tym DependencyObject została zaktualizowana.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. Określona właściwość zależności, która została zmieniona, jest raportowana w danych zdarzenia.The specific dependency property that changed is reported in the event data.

(Odziedziczone po DependencyObject)
OnVisualChildrenChanged(DependencyObject, DependencyObject)

Wywoływana, gdy VisualCollection obiektu wizualnego jest modyfikowany.Called when the VisualCollection of the visual object is modified.

OnVisualParentChanged(DependencyObject)

Wywołuje się, gdy obiekt nadrzędny obiektu wizualnego zostanie zmieniony.Called when the parent of the visual object is changed.

PointFromScreen(Point)

Konwertuje Point w współrzędnych ekranu do Point, który reprezentuje bieżący system współrzędnych Visual.Converts a Point in screen coordinates into a Point that represents the current coordinate system of the Visual.

PointToScreen(Point)

Konwertuje Point, która reprezentuje bieżący system współrzędnych Visual do Point we współrzędnych ekranu.Converts a Point that represents the current coordinate system of the Visual into a Point in screen coordinates.

ReadLocalValue(DependencyProperty)

Zwraca wartość lokalną właściwości zależności, jeśli istnieje.Returns the local value of a dependency property, if it exists.

(Odziedziczone po DependencyObject)
RemoveVisualChild(Visual)

Usuwa relację nadrzędny-podrzędny między dwiema wizualizacjami.Removes the parent-child relationship between two visuals.

SetCurrentValue(DependencyProperty, Object)

Ustawia wartość właściwości zależności bez zmiany jego źródła wartości.Sets the value of a dependency property without changing its value source.

(Odziedziczone po DependencyObject)
SetValue(DependencyProperty, Object)

Ustawia wartość lokalną właściwości zależności, określoną za pomocą identyfikatora właściwości zależności.Sets the local value of a dependency property, specified by its dependency property identifier.

(Odziedziczone po DependencyObject)
SetValue(DependencyPropertyKey, Object)

Ustawia wartość lokalną właściwości zależności tylko do odczytu, określoną przez DependencyPropertyKey identyfikator właściwości zależności.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Odziedziczone po DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość dla podanej właściwości zależności.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Odziedziczone po DependencyObject)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
TransformToAncestor(Visual)

Zwraca transformację, która może być użyta do przekształcenia współrzędnych z Visual do określonego Visual elementu nadrzędnego obiektu wizualnego.Returns a transform that can be used to transform coordinates from the Visual to the specified Visual ancestor of the visual object.

TransformToAncestor(Visual3D)

Zwraca transformację, która może być użyta do przekształcenia współrzędnych z Visual do określonego Visual3D elementu nadrzędnego obiektu wizualnego.Returns a transform that can be used to transform coordinates from the Visual to the specified Visual3D ancestor of the visual object.

TransformToDescendant(Visual)

Zwraca transformację, która może być użyta do przekształcenia współrzędnych z Visual do określonego elementu podrzędnego obiektu wizualnego.Returns a transform that can be used to transform coordinates from the Visual to the specified visual object descendant.

TransformToVisual(Visual)

Zwraca transformację, która może być użyta do przekształcenia współrzędnych z Visual do określonego obiektu wizualnego.Returns a transform that can be used to transform coordinates from the Visual to the specified visual object.

VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Odziedziczone po DispatcherObject)

Dotyczy

Zobacz też