Condividi tramite


Visual Classe

Definizione

Offre il supporto per il rendering in WPF, che include hit testing, trasformazione delle coordinate e calcoli relativi al rettangolo di selezione.

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
Ereditarietà
Derivato

Commenti

La Visual classe è l'astrazione di base da cui deriva ogni FrameworkElement oggetto. Funge anche da punto di ingresso per la scrittura di nuovi controlli in WPF e in molti modi può essere considerato come un equivalente di un handle di finestra (HWND) nel modello di applicazione Win32.

L'oggetto Visual è un oggetto WPF di base, il cui ruolo primario consiste nel fornire supporto per il rendering. I controlli dell'interfaccia utente, ad esempio Button e TextBox, derivano dalla Visual classe e usano le proprietà definite per rendere persistenti i Visual dati di rendering. L'oggetto Visual fornisce il supporto per quanto segue:

  • Visualizzazione dell'output: eseguire il rendering del contenuto del disegno serializzato e salvato in modo permanente di un oggetto visivo.

  • Trasformazioni: eseguire trasformazioni su un oggetto visivo.

  • Ritaglio: offrire supporto dell'area di ritaglio per un oggetto visivo.

  • Hit testing: determinare se una coordinata specificata (punto) o geometria è contenuta nei limiti di un oggetto visivo.

  • Calcoli relativi al rettangolo di selezione: determinare il rettangolo delimitatore di un oggetto visivo.

L'oggetto Visual non include il supporto per altri requisiti di sviluppo dell'applicazione/funzionalità WPF che non sono immediatamente correlate al rendering, ad esempio quanto segue:

  • Gestione degli eventi

  • Layout

  • Stili

  • Associazione dati

  • Globalizzazione

Visual viene fornito come classe astratta pubblica da cui è possibile derivare altre classi. Nella figura seguente viene illustrata la gerarchia degli oggetti visivi esistenti definiti nell'architettura WPF.

Diagramma delle classi derivate dall'oggetto Visual
Gerarchia delle classi visive

In alcuni casi, i membri definiti come protetti in Visual vengono esposti come membri più facilmente accessibili con nomi simili nella classe derivata UIElement .

Per altre informazioni, vedere Cenni preliminari sul rendering della grafica WPF.

Un Visual ha un numero limitato di livelli. Nelle versioni precedenti della .NET Framework, questa profondità massima era 255. Questo limite è inadeguato per alcuni layout con molti livelli nell'albero visivo.

In .NET Framework 4, la profondità massima di un Visual oggetto è 2047, che consente alberi visivi molto più profondi. Nella maggior parte delle applicazioni, lo spazio dello stack non è sufficiente per attraversare così tanti livelli e il risultato è un StackOverflowException durante il layout. Per le dimensioni predefinite dello stack, questa eccezione viene in genere generata quando la profondità dell'albero è circa 800, che corrisponde a circa 190 oggetti annidati TreeViewItem .

Se questa eccezione viene generata dall'applicazione e è necessario avere un albero visivo più profondo, è possibile aumentare le dimensioni dello stack dell'applicazione. È possibile aumentare le dimensioni dello stack usando l'opzione /STACK in fase di compilazione o usando l'utilità EDITBIN. L'aumento delle dimensioni dello stack può influire sulle prestazioni dell'applicazione. Per altre informazioni, vedere Allocazioni stack e opzioni EDITBIN.

Costruttori

Visual()

Fornisce l'inizializzazione di base per oggetti derivati dalla classe Visual.

Proprietà

DependencyObjectType

Ottiene l'oggetto DependencyObjectType che esegue il wrapping del 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.
Obsoleta.

Ottiene o imposta il valore di BitmapEffect per Visual.

VisualBitmapEffectInput
Obsoleta.
Obsoleta.

Ottiene o imposta il valore di BitmapEffectInput per Visual.

VisualBitmapScalingMode

Ottiene o imposta l'oggetto BitmapScalingMode per Visual.

VisualCacheMode

Ottiene o imposta una rappresentazione nascosta 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 all'oggetto Visual.

VisualOffset

Ottiene o imposta il valore di offset dell’oggetto visivo.

VisualOpacity

Ottiene o imposta l'opacità di 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 l'oggetto TextHintingMode di Visual.

VisualTextRenderingMode

Ottiene o imposta l'oggetto TextRenderingMode di Visual.

VisualTransform

Ottiene o imposta il valore di Transform per Visual.

VisualXSnappingGuidelines

Ottiene o imposta la raccolta delle linee guida per la coordinata X (verticale).

VisualYSnappingGuidelines

Ottiene o imposta la raccolta delle linee guida per la coordinata y (orizzontale).

Metodi

AddVisualChild(Visual)

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 è specificata da un identificatore DependencyProperty.

(Ereditato da DependencyObject)
ClearValue(DependencyPropertyKey)

Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare è specificata da un oggetto DependencyPropertyKey.

(Ereditato da DependencyObject)
CoerceValue(DependencyProperty)

Assegna forzatamente 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(Object)

Determina se l'oggetto DependencyObject specificato equivale all'oggetto DependencyObject corrente.

(Ereditato da DependencyObject)
FindCommonVisualAncestor(DependencyObject)

Restituisce il predecessore comune di due oggetti visivi.

GetHashCode()

Ottiene un codice hash per l'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(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di DependencyObject.

(Ereditato da DependencyObject)
GetVisualChild(Int32)

Restituisce l’oggetto Visual specificato 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(DependencyProperty)

Valuta di nuovo il valore effettivo della proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
IsAncestorOf(DependencyObject)

Determina se l'oggetto visivo è un predecessore dell'oggetto visivo discendente.

IsDescendantOf(DependencyObject)

Determina se l'oggetto visivo è un discendente dell'oggetto visivo predecessore.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnDpiChanged(DpiScale, DpiScale)

Chiamato in caso di variazione del valore DPI usato per il rendering della vista.

OnPropertyChanged(DependencyPropertyChangedEventArgs)

Richiamato ogni volta che viene aggiornato il valore effettivo di qualsiasi proprietà di dipendenza in DependencyObject. La proprietà di dipendenza specifica modificata viene indicata nei dati dell'evento.

(Ereditato da DependencyObject)
OnVisualChildrenChanged(DependencyObject, DependencyObject)

Viene chiamato quando l'oggetto VisualCollection dell’oggetto visivo viene modificato.

OnVisualParentChanged(DependencyObject)

Chiamato quando l’elemento padre dell’oggetto visivo viene modificato.

PointFromScreen(Point)

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(Point)

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(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se esistente.

(Ereditato da DependencyObject)
RemoveVisualChild(Visual)

Rimuove la relazione padre-figlio tra due elementi visivi.

SetCurrentValue(DependencyProperty, Object)

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, specificato dal relativo identificatore della proprietà di dipendenza.

(Ereditato da DependencyObject)
SetValue(DependencyPropertyKey, Object)

Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore DependencyPropertyKey della proprietà di dipendenza.

(Ereditato da DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà di dipendenza specificata.

(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 dall'oggetto Visual al predecessore Visual3D specificato dell’oggetto visivo.

TransformToDescendant(Visual)

Restituisce una funzione di trasformazione utilizzabile per trasformare le coordinate dall'oggetto Visual al discendente specificato dell’oggetto visivo.

TransformToVisual(Visual)

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)

Si applica a

Vedi anche