Fornisce supporto per il rendering in WPF, che include hit test, trasformazione delle coordinate e calcoli relativi al riquadro.
System.Windows.Threading.DispatcherObject
System.Windows.DependencyObject
System.Windows.Media.Visual
System.Windows.Media.ContainerVisual
System.Windows.Media.Media3D.Viewport3DVisual
System.Windows.UIElement
Spazio dei nomi: System.Windows.Media
Assembly: PresentationCore (in PresentationCore.dll)
Public MustInherit Class Visual _ Inherits DependencyObject
public abstract class Visual : DependencyObject
public ref class Visual abstract : public DependencyObject
[<AbstractClass>] type Visual = class inherit DependencyObject end
Il tipo Visual espone i seguenti membri.
| Nome | Descrizione | |
|---|---|---|
|
Visual | Fornisce l'inizializzazione di base per oggetti derivati dalla classe Visual. |
| Nome | Descrizione | |
|---|---|---|
|
DependencyObjectType | Ottiene la classe DependencyObjectType che include il tipo CLR di questa istanza. (Ereditato da DependencyObject) |
|
Dispatcher | Ottiene l'oggetto Dispatcher associato a DispatcherObject. (Ereditato da DispatcherObject) |
|
IsSealed | Ottiene un valore che indica se l'istanza è attualmente sealed (di sola lettura). (Ereditato da DependencyObject) |
|
VisualBitmapEffect | Obsoleta. Ottiene o imposta il valore di BitmapEffect per Visual. |
|
VisualBitmapEffectInput | Obsoleta. Ottiene o imposta il valore di BitmapEffectInput per Visual. |
|
VisualBitmapScalingMode | Ottiene o imposta l'oggetto BitmapScalingMode per l'oggetto Visual. |
|
VisualCacheMode | Ottiene o imposta una rappresentazione memorizzata nella cache dell'oggetto Visual. |
|
VisualChildrenCount | Ottiene il numero di elementi figlio per l’oggetto Visual. |
|
VisualClearTypeHint | Ottiene o imposta l'oggetto ClearTypeHint che determina come viene reso ClearType nell'oggetto Visual. |
|
VisualClip | Ottiene o imposta l'area di ridimensionamento dell'oggetto Visual specificato sotto forma di valore Geometry. |
|
VisualEdgeMode | Ottiene o imposta la modalità di bordo dell’oggetto Visual sotto forma di valore EdgeMode. |
|
VisualEffect | Ottiene o imposta l'effetto bitmap da applicare a Visual. |
|
VisualOffset | Ottiene o imposta il valore di offset dell’oggetto visivo. |
|
VisualOpacity | Ottiene o imposta l'opacità dell’oggetto Visual. |
|
VisualOpacityMask | Ottiene o imposta il valore Brush che rappresenta la maschera di opacità dell’oggetto Visual. |
|
VisualParent | Ottiene la struttura ad albero padre dell’oggetto visivo. |
|
VisualScrollableAreaClip | Ottiene o imposta un'area scorrevole ritagliata per l'oggetto Visual. |
|
VisualTextHintingMode | Ottiene o imposta il TextHintingMode del Visual. |
|
VisualTextRenderingMode | Ottiene o imposta il TextRenderingMode del Visual. |
|
VisualTransform | Ottiene o imposta il valore di Transform per l'oggetto Visual. |
|
VisualXSnappingGuidelines | Ottiene o imposta l’insieme di linee guida della coordinata x (verticale). |
|
VisualYSnappingGuidelines | Ottiene o imposta l’insieme di linee guida della coordinata y (orizzontale). |
| Nome | Descrizione | |
|---|---|---|
|
AddVisualChild | Definisce la relazione padre-figlio tra due elementi visivi. |
|
CheckAccess | Determina se il thread chiamante ha accesso a DispatcherObject. (Ereditato da DispatcherObject) |
|
ClearValue(DependencyProperty) | Cancella il valore locale di una proprietà. La proprietà da cancellare è indicata da un identificatore DependencyProperty. (Ereditato da DependencyObject) |
|
ClearValue(DependencyPropertyKey) | Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare è indicata da un identificatore DependencyPropertyKey. (Ereditato da DependencyObject) |
|
CoerceValue | Assegna il valore della proprietà di dipendenza specificata. Questa operazione viene eseguita richiamando qualsiasi funzione CoerceValueCallback specificata nei metadati della proprietà di dipendenza, esistente nell'oggetto DependencyObject chiamante. (Ereditato da DependencyObject) |
|
Equals | Determina se l'oggetto DependencyObject specificato equivale all'oggetto DependencyObject corrente. (Ereditato da DependencyObject) |
|
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) |
|
FindCommonVisualAncestor | Restituisce il predecessore comune di due oggetti visivi. |
|
GetHashCode | Ottiene un codice hash per questo oggetto DependencyObject. (Ereditato da DependencyObject) |
|
GetLocalValueEnumerator | Crea un enumeratore specializzato per determinare le proprietà di dipendenza che presentano valori impostati localmente nell'oggetto DependencyObject. (Ereditato da DependencyObject) |
|
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
|
GetValue | Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di DependencyObject. (Ereditato da DependencyObject) |
|
GetVisualChild | Restituisce l’oggetto Visual nell’oggetto VisualCollection padre. |
|
HitTestCore(GeometryHitTestParameters) | Determina se il valore di una geometria si trova all'interno dei limiti dell’oggetto visivo. |
|
HitTestCore(PointHitTestParameters) | Determina se il valore di coordinata di un punto è all'interno dei limiti dell’oggetto visivo. |
|
InvalidateProperty | Valuta di nuovo il valore effettivo della proprietà di dipendenza specificata. (Ereditato da DependencyObject) |
|
IsAncestorOf | Determina se l'oggetto visivo è un predecessore dell'oggetto visivo discendente. |
|
IsDescendantOf | Determina se l'oggetto visivo è un discendente dell'oggetto visivo predecessore. |
|
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) |
|
OnPropertyChanged | Richiamato ogni volta che il valore effettivo di qualsiasi proprietà di dipendenza in DependencyObject è stato aggiornato. La specifica proprietà di dipendenza modificata viene indicata nei dati dell'evento. (Ereditato da DependencyObject) |
|
OnVisualChildrenChanged | Viene chiamato quando l’oggetto VisualCollection dell’oggetto visivo viene modificato. |
|
OnVisualParentChanged | Chiamato quando l’elemento padre dell’oggetto visivo viene modificato. |
|
PointFromScreen | Converte un oggetto Point sotto forma di coordinate dello schermo in un oggetto Point che rappresenta il sistema di coordinate corrente dell’oggetto Visual. |
|
PointToScreen | Converte un oggetto Point che rappresenta il sistema di coordinate corrente dell’oggetto Visual in un oggetto Point sotto forma di coordinate dello schermo. |
|
ReadLocalValue | Restituisce il valore locale di una proprietà di dipendenza, se esistente. (Ereditato da DependencyObject) |
|
RemoveVisualChild | Rimuove la relazione padre-figlio tra due elementi visivi. |
|
SetCurrentValue | Imposta il valore di una proprietà di dipendenza senza modificare l'origine del valore. (Ereditato da DependencyObject) |
|
SetValue(DependencyProperty, Object) | Imposta il valore locale di una proprietà di dipendenza, specificata dal relativo identificatore. (Ereditato da DependencyObject) |
|
SetValue(DependencyPropertyKey, Object) | Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificata dall'identificatore DependencyPropertyKey della proprietà di dipendenza. (Ereditato da DependencyObject) |
|
ShouldSerializeProperty | Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà di dipendenza fornita. (Ereditato da DependencyObject) |
|
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
|
TransformToAncestor(Visual) | Restituisce una funzione di trasformazione utilizzabile per trasformare le coordinate dall'oggetto Visual al predecessore Visual specificato dell’oggetto visivo. |
|
TransformToAncestor(Visual3D) | Restituisce una funzione di trasformazione utilizzabile per trasformare le coordinate da Visual al predecessore Visual3D specificato dell’oggetto visivo. |
|
TransformToDescendant | Restituisce una funzione di trasformazione utilizzabile per trasformare le coordinate dall'oggetto Visual al discendente specificato dell’oggetto visivo. |
|
TransformToVisual | Restituisce una funzione di trasformazione utilizzabile per trasformare le coordinate dall'oggetto Visual all’oggetto visivo specificato. |
|
VerifyAccess | Impone che il thread chiamante abbia accesso a DispatcherObject. (Ereditato da DispatcherObject) |
La classe Visual rappresenta l'astrazione base da cui deriva ogni oggetto FrameworkElement. Svolge anche la funzione di punto di ingresso per la scrittura di nuovi controlli in WPF e in molti casi può essere concepita come un equivalente di un handle di finestra (HWND) nel modello di applicazione Win32.
Visual è un oggetto WPF principale, il cui ruolo primario è quello di fornire un supporto di rendering. I controlli di interfaccia utente, quali Button e TextBox, derivano dalla classe Visual e ne utilizzano le proprietà definite per salvare in modo permanente i dati di rendering. L'oggetto Visual fornisce supporto per le operazioni elencate di seguito.
-
Visualizzazione dell'output: eseguire il rendering del contenuto del disegno serializzato e salvato in modo permanente di un elemento visivo.
-
Trasformazioni: esecuzione di trasformazioni su un elemento visivo.
-
Area di visualizzazione: fornire supporto dell'area di visualizzazione per un elemento visivo.
-
Hit test: per stabilire se una coordinata (punto) o una geometria specificata è contenuta entro i limiti di un elemento visivo.
-
Calcoli del riquadro delimitatore: definire il rettangolo di delimitazione di un elemento visivo.
Dal punto di vista dell’architettura, l'oggetto Visual non include supporto per altri requisiti di sviluppo di applicazioni o funzionalità WPF che non siano immediatamente correlate al rendering, ad esempio le seguenti:
-
Gestione degli eventi
-
Layout
-
Stili
-
Associazione dati
-
Globalizzazione
Visual è fornito come classe astratta pubblica da cui possono essere derivate ulteriori classi. Nella figura riportata di seguito viene illustrata la gerarchia degli oggetti visivi esistenti e definiti nell’architettura WPF.
In alcuni casi, membri definiti come protetti in Visual sono esposti come membri più facilmente accessibili con nomi simili nella classe UIElement derivata.
Per ulteriori informazioni, vedere Cenni preliminari sul rendering della grafica WPF.
Visual dispone di un numero limitato di livelli. Nelle versioni precedenti di .NET Framework, questa profondità massima è 255. Questo limite è inadeguato per alcuni layout che dispongono di molti livelli nella struttura ad albero visuale.
In .NET Framework 4 la profondità massima di un oggetto Visual è 2047, che consente strutture ad albero visuali molto più profonde. Nella maggior parte delle applicazioni, non vi è spazio sufficiente dello stack per attraversare un numero così elevato di livelli e il risultato è un oggetto StackOverflowException durante il layout. Per la dimensione dello stack predefinita, questa eccezione viene generata generalmente quando la profondità della struttura ad albero è approssimativamente 800, che corrisponde approssimativamente a 190 oggetti TreeViewItem annidati.
Se questa eccezione viene generata dall'applicazione ed è necessario avere una struttura ad albero visuale più profonda, è possibile aumentare la dimensione dello stack dell'applicazione. È possibile aumentare la dimensione dello stack in fase di compilazione tramite l'opzione /STACK o l'utilità EDITBIN. È possibile l'aumento della dimensione dello stack influisca sulle prestazioni dell'applicazione. Per ulteriori informazioni, vedere /STACK (Allocazioni stack) e Opzioni di EDITBIN.
.NET Framework
Supportato in: 4, 3.5, 3.0.NET Framework Client Profile
Supportato in: 4, 3.5 SP1Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.