XamlReader.LoadAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
讀取 XAML 標記並傳回物件,這個物件對應至指定之標記的根。
多載
LoadAsync(Stream, ParserContext, Boolean) | |
LoadAsync(XmlReader, Boolean) | |
LoadAsync(Stream, ParserContext) |
讀取指定之 Stream 中的 XAML 輸入並傳回所對應物件樹狀結構的根。 |
LoadAsync(Stream) |
讀取指定之 Stream 中的 XAML 輸入並傳回所對應物件樹狀結構的根。 |
LoadAsync(XmlReader) |
讀取指定之 XmlReader 中的 XAML 輸入並傳回所對應物件樹狀結構的根。 |
LoadAsync(Stream, Boolean) |
LoadAsync(Stream, ParserContext, Boolean)
public:
System::Object ^ LoadAsync(System::IO::Stream ^ stream, System::Windows::Markup::ParserContext ^ parserContext, bool useRestrictiveXamlReader);
public object LoadAsync (System.IO.Stream stream, System.Windows.Markup.ParserContext parserContext, bool useRestrictiveXamlReader);
member this.LoadAsync : System.IO.Stream * System.Windows.Markup.ParserContext * bool -> obj
Public Function LoadAsync (stream As Stream, parserContext As ParserContext, useRestrictiveXamlReader As Boolean) As Object
參數
- stream
- Stream
- parserContext
- ParserContext
- useRestrictiveXamlReader
- Boolean
傳回
備註
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Load(Stream, ParserContext, Boolean)例外狀況。
適用於
LoadAsync(XmlReader, Boolean)
public:
System::Object ^ LoadAsync(System::Xml::XmlReader ^ reader, bool useRestrictiveXamlReader);
public object LoadAsync (System.Xml.XmlReader reader, bool useRestrictiveXamlReader);
member this.LoadAsync : System.Xml.XmlReader * bool -> obj
Public Function LoadAsync (reader As XmlReader, useRestrictiveXamlReader As Boolean) As Object
參數
- reader
- XmlReader
- useRestrictiveXamlReader
- Boolean
傳回
備註
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Load(XmlReader, Boolean)例外狀況。
適用於
LoadAsync(Stream, ParserContext)
讀取指定之 Stream 中的 XAML 輸入並傳回所對應物件樹狀結構的根。
public:
System::Object ^ LoadAsync(System::IO::Stream ^ stream, System::Windows::Markup::ParserContext ^ parserContext);
public object LoadAsync (System.IO.Stream stream, System.Windows.Markup.ParserContext parserContext);
member this.LoadAsync : System.IO.Stream * System.Windows.Markup.ParserContext -> obj
Public Function LoadAsync (stream As Stream, parserContext As ParserContext) As Object
參數
- stream
- Stream
資料流,包含要載入的 XAML 輸入。
- parserContext
- ParserContext
剖析器使用的內容資訊。
傳回
所建立之物件樹狀結構的根。
例外狀況
stream
為 null
。
多重載入作業會與同一個 XamlReader 並行執行。
備註
異步 XAML 載入作業一開始會傳回純根物件的物件。 以異步方式,XAML 剖析會繼續進行,而且任何子物件會填入根目錄底下。 這與一般 WPF XAML 處理行為及其與物件存留期 WPF 概念的互動相反。 在一般 (非異步) 互動中,會先填入包含所有子集合之物件的所有屬性,再傳回元素並回報為已載入。 該行為相當於建立樹狀結構,其中根物件是可供使用的最後一個物件。
您通常會將傳回的物件指派給應用程式物件樹狀結構中的某個位置,並了解內容可能仍會填入,而且如果整個內容公開為UI的一部分,可能會導致累加版面配置更新。 基於這個理由,通常會隔離或虛擬化任何異步載入的物件與 XAML,以及使用應用程式特定的邏輯或應用程式狀態來通知 LoadCompleted 何時處理。
若要 LoadAsync 以異步方式載入標記,XAML 標記中的根元素必須包含 屬性與值 x:SynchronousMode="Async"
。 此值會被視為區分大小寫。 如果 XAML 標記根目錄不包含 x:SynchronousMode="Async"
,則不會擲回任何例外狀況,而且呼叫會當做同步載入處理 (請參閱 Load(Stream, ParserContext)) 。
每個類別實例 XamlReader 一次只能執行一個異步載入作業。 如果在相同類別的 XamlReader 實體上嘗試多個異步操作, InvalidOperationException 則會擲回 。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Load(Stream, ParserContext)例外狀況。
另請參閱
適用於
LoadAsync(Stream)
讀取指定之 Stream 中的 XAML 輸入並傳回所對應物件樹狀結構的根。
public:
System::Object ^ LoadAsync(System::IO::Stream ^ stream);
public object LoadAsync (System.IO.Stream stream);
member this.LoadAsync : System.IO.Stream -> obj
Public Function LoadAsync (stream As Stream) As Object
參數
- stream
- Stream
資料流,包含要載入的 XAML 輸入。
傳回
屬於所建立之物件樹狀結構根的物件。
例外狀況
stream
為 null
。
多重載入作業會與同一個 XamlReader 並行暫止。
備註
異步 XAML 載入作業一開始會傳回純根物件的物件。 以異步方式,XAML 剖析會繼續進行,而且任何子物件會填入根目錄底下。 這與一般 WPF XAML 處理行為及其與物件存留期 WPF 概念的互動相反。 在一般 (非異步) 互動中,會先填入包含所有子集合之物件的所有屬性,再傳回元素並回報為已載入。 該行為相當於建立樹狀結構,其中根物件是可供使用的最後一個物件。
您通常會將傳回的物件指派給 WPF 應用程式物件樹狀結構中的某些位置,並了解內容可能仍會填入,而且如果整個內容公開為 UI 的一部分,可能會導致累加版面配置更新。 基於這個理由,通常會隔離或虛擬化任何異步載入的物件與 XAML,以及使用應用程式特定的邏輯或應用程式狀態來通知 LoadCompleted 何時處理。
若要 LoadAsync 以異步方式載入 XAML 輸入,XAML 輸入中的根元素必須包含 屬性與值 x:SynchronousMode="Async"
。 此值會被視為區分大小寫。 如果 XAML 輸入根目錄不包含 x:SynchronousMode="Async"
,則不會擲回任何例外狀況,而且呼叫會當做同步載入處理 (請參閱 Load(Stream)) 。
每個類別實例 XamlReader 一次只能執行一個異步載入作業。 如果在相同類別的 XamlReader 實體上嘗試多個異步操作, InvalidOperationException 則會擲回 。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Load(Stream)例外狀況。
另請參閱
適用於
LoadAsync(XmlReader)
讀取指定之 XmlReader 中的 XAML 輸入並傳回所對應物件樹狀結構的根。
public:
System::Object ^ LoadAsync(System::Xml::XmlReader ^ reader);
public object LoadAsync (System.Xml.XmlReader reader);
member this.LoadAsync : System.Xml.XmlReader -> obj
Public Function LoadAsync (reader As XmlReader) As Object
參數
傳回
所建立之物件樹狀結構的根。
例外狀況
reader
為 null
。
多重載入作業會與同一個 XamlReader 並行執行。
備註
異步 XAML 載入作業一開始會傳回純根物件的物件。 以異步方式,XAML 剖析會繼續進行,而且任何子物件會填入根目錄底下。 這與一般 WPF XAML 處理行為及其與物件存留期 WPF 概念的互動相反。 在一般 (非異步) 互動中,會先填入包含所有子集合之物件的所有屬性,再傳回元素並回報為已載入。 該行為相當於建立樹狀結構,其中根物件是可供使用的最後一個物件。
您通常會將傳回的物件從 LoadAsync 指派給應用程式物件樹狀結構中的某些位置,並了解內容可能仍會填入,而且如果整個內容公開為UI的一部分,可能會導致累加版面配置更新。 基於這個理由,通常會隔離或虛擬化任何異步載入的物件與 XAML,以及使用應用程式特定的邏輯或應用程式狀態來通知 LoadCompleted 何時處理。
若要 LoadAsync 以異步方式載入 XAML 輸入,XAML 標記中的根元素必須包含 屬性和值 x:SynchronousMode="Async"
。 此值會被視為區分大小寫。 如果 XAML 標記根目錄不包含 x:SynchronousMode="Async"
,則不會擲回任何例外狀況,而且呼叫會改為當做同步載入處理 (請參閱 Load(XmlReader)) 。
每個類別實例 XamlReader 一次只能執行一個異步載入作業。 如果在相同類別的 XamlReader 實體上嘗試多個異步操作, InvalidOperationException 則會擲回 。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Load(XmlReader)例外狀況。
另請參閱
適用於
LoadAsync(Stream, Boolean)
public:
System::Object ^ LoadAsync(System::IO::Stream ^ stream, bool useRestrictiveXamlReader);
public object LoadAsync (System.IO.Stream stream, bool useRestrictiveXamlReader);
member this.LoadAsync : System.IO.Stream * bool -> obj
Public Function LoadAsync (stream As Stream, useRestrictiveXamlReader As Boolean) As Object
參數
- stream
- Stream
- useRestrictiveXamlReader
- Boolean
傳回
備註
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Load(Stream, Boolean)例外狀況。