Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese
Questa documentazione è stata archiviata e non viene gestita.

Classe Visual

Fornisce supporto per il rendering in WPF, che include hit test, trasformazione delle coordinate e calcoli relativi al riquadro.

Spazio dei nomi:  System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)

public abstract class Visual : DependencyObject

Il tipo Visual espone i seguenti membri.

  NomeDescrizione
Metodo protettoVisualFornisce l'inizializzazione di base per oggetti derivati dalla classe Visual.
In alto

  NomeDescrizione
Proprietà pubblicaDependencyObjectType Ottiene il DependencyObjectType che esegue il wrapping CLR del tipo dell'istanza. (Ereditato da DependencyObject)
Proprietà pubblicaDispatcher Ottiene l'oggetto Dispatcher al quale l'oggetto DispatcherObject è associato. (Ereditato da DispatcherObject)
Proprietà pubblicaIsSealedOttiene un valore che indica se l'istanza è attualmente sealed (di sola lettura). (Ereditato da DependencyObject)
Proprietà protetta.VisualBitmapEffect Obsoleta. Ottiene o imposta il valore di BitmapEffect per Visual.
Proprietà protetta.VisualBitmapEffectInput Obsoleta. Ottiene o imposta il valore di BitmapEffectInput per Visual.
Proprietà protetta.VisualBitmapScalingMode Ottiene o imposta il BitmapScalingMode per l'oggetto Visual.
Proprietà protetta.VisualCacheModeOttiene o imposta una rappresentazione memorizzata nella cache dell'oggetto Visual.
Proprietà protetta.VisualChildrenCountOttiene il numero di elementi figlio per l’oggetto Visual.
Proprietà protetta.VisualClearTypeHintOttiene o imposta l'oggetto ClearTypeHint che determina come viene reso ClearType nell'oggetto Visual.
Proprietà protetta.VisualClipOttiene o imposta l'area di ridimensionamento dell'oggetto Visual specificato sotto forma di valore Geometry.
Proprietà protetta.VisualEdgeModeOttiene o imposta la modalità di bordo dell’oggetto Visual sotto forma di valore EdgeMode.
Proprietà protetta.VisualEffectOttiene o imposta l'effetto bitmap da applicare a Visual.
Proprietà protetta.VisualOffsetOttiene o imposta il valore di offset dell’oggetto visivo.
Proprietà protetta.VisualOpacityOttiene o imposta l'opacità dell’oggetto Visual.
Proprietà protetta.VisualOpacityMaskOttiene o imposta il valore Brush che rappresenta la maschera di opacità dell’oggetto Visual.
Proprietà protetta.VisualParentOttiene la struttura ad albero padre dell’oggetto visivo.
Proprietà protetta.VisualScrollableAreaClipOttiene o imposta un'area scorrevole ritagliata per l'oggetto Visual.
Proprietà protetta.VisualTextHintingModeOttiene o imposta il TextHintingMode del Visual.
Proprietà protetta.VisualTextRenderingModeOttiene o imposta il TextRenderingMode del Visual.
Proprietà protetta.VisualTransformOttiene o imposta il valore di Transform per l'oggetto Visual.
Proprietà protetta.VisualXSnappingGuidelinesOttiene o imposta l’insieme di linee guida della coordinata x (verticale).
Proprietà protetta.VisualYSnappingGuidelinesOttiene o imposta l’insieme di linee guida della coordinata y (orizzontale).
In alto

  NomeDescrizione
Metodo protettoAddVisualChildDefinisce la relazione padre-figlio tra due elementi visivi.
Metodo pubblicoCheckAccess Determina se il thread chiamante ha accesso a questo DispatcherObject. (Ereditato da DispatcherObject)
Metodo pubblicoClearValue(DependencyProperty) Cancella il valore locale di una proprietà. La proprietà da cancellare viene specificata da un identificatore DependencyProperty. (Ereditato da DependencyObject)
Metodo pubblicoClearValue(DependencyPropertyKey)Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare è indicata da un identificatore DependencyPropertyKey. (Ereditato da DependencyObject)
Metodo pubblicoCoerceValueAssegna 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)
Metodo pubblicoEquals Determina se il DependencyObject fornito equivale al DependencyObject corrente. (Ereditato da DependencyObject)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoFindCommonVisualAncestorRestituisce il predecessore comune di due oggetti visivi.
Metodo pubblicoGetHashCodeOttiene un codice hash per questo oggetto DependencyObject. (Ereditato da DependencyObject)
Metodo pubblicoGetLocalValueEnumeratorCrea un enumeratore specializzato per determinare le proprietà di dipendenza che presentano valori impostati localmente nell'oggetto DependencyObject. (Ereditato da DependencyObject)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoGetValueRestituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di DependencyObject. (Ereditato da DependencyObject)
Metodo protettoGetVisualChildRestituisce l’oggetto Visual nell’oggetto VisualCollection padre.
Metodo protettoHitTestCore(GeometryHitTestParameters)Determina se il valore di una geometria si trova all'interno dei limiti dell’oggetto visivo.
Metodo protettoHitTestCore(PointHitTestParameters)Determina se il valore di coordinata di un punto è all'interno dei limiti dell’oggetto visivo.
Metodo pubblicoInvalidatePropertyValuta di nuovo il valore effettivo della proprietà di dipendenza specificata. (Ereditato da DependencyObject)
Metodo pubblicoIsAncestorOfDetermina se l'oggetto visivo è un predecessore dell'oggetto visivo discendente.
Metodo pubblicoIsDescendantOfDetermina se l'oggetto visivo è un discendente dell'oggetto visivo predecessore.
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protettoOnPropertyChangedRichiamato 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)
Metodo protettoOnVisualChildrenChanged Viene chiamato quando il VisualCollection dell’oggetto visivo viene modificato.
Metodo protettoOnVisualParentChangedChiamato quando l’elemento padre dell’oggetto visivo viene modificato.
Metodo pubblicoPointFromScreenConverte un oggetto Point sotto forma di coordinate dello schermo in un oggetto Point che rappresenta il sistema di coordinate corrente dell’oggetto Visual.
Metodo pubblicoPointToScreenConverte un oggetto Point che rappresenta il sistema di coordinate corrente dell’oggetto Visual in un oggetto Point sotto forma di coordinate dello schermo.
Metodo pubblicoReadLocalValueRestituisce il valore locale di una proprietà di dipendenza, se esistente. (Ereditato da DependencyObject)
Metodo protettoRemoveVisualChildRimuove la relazione padre-figlio tra due elementi visivi.
Metodo pubblicoSetCurrentValueImposta il valore di una proprietà di dipendenza senza modificare l'origine del valore. (Ereditato da DependencyObject)
Metodo pubblicoSetValue(DependencyProperty, Object)Imposta il valore locale di una proprietà di dipendenza, specificata dal relativo identificatore. (Ereditato da DependencyObject)
Metodo pubblicoSetValue(DependencyPropertyKey, Object) Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore della proprietà di dipendenza DependencyPropertyKey. (Ereditato da DependencyObject)
Metodo protettoShouldSerializeProperty Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore fornito per la proprietà di dipendenza specificata. (Ereditato da DependencyObject)
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblicoTransformToAncestor(Visual)Restituisce una funzione di trasformazione utilizzabile per trasformare le coordinate dall'oggetto Visual al predecessore Visual specificato dell’oggetto visivo.
Metodo pubblicoTransformToAncestor(Visual3D)Restituisce una funzione di trasformazione utilizzabile per trasformare le coordinate da Visual al predecessore Visual3D specificato dell’oggetto visivo.
Metodo pubblicoTransformToDescendantRestituisce una funzione di trasformazione utilizzabile per trasformare le coordinate dall'oggetto Visual al discendente specificato dell’oggetto visivo.
Metodo pubblicoTransformToVisualRestituisce una funzione di trasformazione utilizzabile per trasformare le coordinate dall'oggetto Visual all’oggetto visivo specificato.
Metodo pubblicoVerifyAccess Impone che il thread chiamante abbia accesso a questo DispatcherObject. (Ereditato da DispatcherObject)
In alto

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.

Gerarchia delle classi visive

Diagramma delle classi derivate dall'oggetto Visual

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 SP1

Windows 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.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Mostra: