Questo articolo è stato tradotto automaticamente. 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

Metodo XamlReader.LoadAsync (XmlReader)

 

Data di pubblicazione: ottobre 2016

Legge l'input XAML nell'oggetto specificato XmlReader e restituisce la radice dell'albero di oggetti corrispondenti.

Spazio dei nomi:   System.Windows.Markup
Assembly:  PresentationFramework (in PresentationFramework.dll)

public object LoadAsync(
	XmlReader reader
)

Parametri

reader
Type: System.Xml.XmlReader

Un oggetto esistente XmlReader che ha già caricato/letto l'input XAML.

Valore restituito

Type: System.Object

La radice dell'albero di oggetti creato.

Exception Condition
ArgumentNullException

reader è null.

InvalidOperationException

Più operazioni di caricamento vengono eseguite contemporaneamente lo stesso XamlReader.

Un'operazione di caricamento XAML asincrona restituirà inizialmente un oggetto che è semplicemente l'oggetto radice. In modo asincrono, analisi XAML continua quindi e tutti gli oggetti figlio vengono compilati nella radice. Ciò si differenzia il tipico di elaborazione XAML WPF comportamento e l'interazione con concetti WPF della durata dell'oggetto. Nell'interazione tipica (non-async), tutte le proprietà di un oggetto tra tutte le raccolte figlio vengono riempite prima di restituire un elemento e segnalarlo come caricato. Questo comportamento equivale a una metodologia dal basso in alto per creare la struttura ad albero in cui l'oggetto radice è l'ultimo oggetto diventi disponibile.

È in genere necessario assegnare l'oggetto restituito da LoadAsync a una determinata posizione nell'albero di oggetti dell'applicazione, con la conoscenza del contenuto che potrebbe essere ancora in corso di riempimento e potrebbe provocare aggiornamenti incrementali del layout se l'intero contenuto viene esposto come parte dell'interfaccia utente. Per questo motivo, in genere per isolare o si virtualizza qualsiasi oggetto caricato in modo asincrono da XAML e utilizzare logica specifica dell'applicazione o lo stato dell'applicazione per notificare quando LoadCompleted viene gestita.

Affinché LoadAsync per caricare XAML di input in modo asincrono, l'elemento radice nel markup XAML deve contenere l'attributo e il valore x:SynchronousMode="Async". Il valore viene considerato la distinzione tra maiuscole e minuscole. Se il markup XAML non contiene x:SynchronousMode="Async", viene generata alcuna eccezione e la chiamata viene elaborata invece come un caricamento sincrono (vedere Load(XmlReader)).

Per ogni istanza di una sola operazione di caricamento asincrona la XamlReader classe può essere eseguita contemporaneamente. Se più di un'operazione asincrona viene tentata la stessa istanza della XamlReader classe un InvalidOperationException viene generata un'eccezione.

.NET Framework
Disponibile da 3.0
Torna all'inizio
Mostra: