XamlReader.LoadAsync メソッド

定義

XAML マークアップを読み取り、指定したマークアップのルートに対応するオブジェクトを返します。Reads XAML markup and returns an object that corresponds to the root of the specified markup.

オーバーロード

LoadAsync(Stream)

指定した Stream 内の XAML 入力を読み取り、対応するオブジェクト ツリーのルートを返します。Reads the XAML input in the specified Stream and returns the root of the corresponding object tree.

LoadAsync(XmlReader)

指定した XmlReader 内の XAML 入力を読み取り、対応するオブジェクト ツリーのルートを返します。Reads the XAML input in the specified XmlReader and returns the root of the corresponding object tree.

LoadAsync(Stream, ParserContext)

指定した Stream 内の XAML 入力を読み取り、対応するオブジェクト ツリーのルートを返します。Reads the XAML input in the specified Stream and returns the root of the corresponding object tree.

LoadAsync(Stream)

指定した Stream 内の XAML 入力を読み取り、対応するオブジェクト ツリーのルートを返します。Reads the XAML input in the specified Stream and returns the root of the corresponding object tree.

public:
 System::Object ^ LoadAsync(System::IO::Stream ^ stream);
public object LoadAsync (System.IO.Stream stream);
member this.LoadAsync : System.IO.Stream -> obj

パラメーター

stream
Stream

読み込む XAML 入力を格納しているストリーム。The stream containing the XAML input to load.

戻り値

作成されたオブジェクト ツリーのルートとなるオブジェクト。The object that is the root of the created object tree.

例外

streamnull です。stream is null.

1 つの XamlReader で、複数の読み込み操作が同時に保留になります。Multiple load operations are pending concurrently with the same XamlReader.

注釈

非同期 XAML 読み込み操作は、最初は単にルートオブジェクトであるオブジェクトを返します。An asynchronous XAML load operation will initially return an object that is purely the root object. 非同期的に XAML 解析が続行され、子オブジェクトがルートの下に格納されます。Asynchronously, XAML parsing then continues, and any child objects are filled in under the root. これは、一般的な WPF XAML 処理の動作と、オブジェクトの有効期間の WPF 概念との相互作用とは対照的です。This is in contrast to the typical WPF XAML processing behavior and its interaction with WPF concepts of object lifetime. 一般的な (非同期ではない) 相互作用では、要素を返す前にすべての子コレクションを含むオブジェクトのすべてのプロパティが入力され、読み込まれたものとして報告されます。In the typical (non-async) interaction, all properties of an object including all child collections are filled before returning an element and reporting it as loaded. この動作は、ルートオブジェクトが使用可能になる最後のオブジェクトであるツリーを作成するためのボトムアップ方式に相当します。That behavior equates to a bottom-up methodology for creating the tree where the root object is the last object to become available.

通常、返されたオブジェクトは、WPF アプリケーションのオブジェクトツリー内のある場所に割り当てられます。これにはコンテンツがまだ埋め込まれている可能性があり、コンテンツ全体が UI の一部として公開されている場合は、レイアウトの増分更新が発生する可能性があります。You typically would assign the returned object to some location in your WPF application's object tree, with the knowledge that content might still be filling in and might cause incremental layout updates if the entire content is exposed as part of the UI. このため、通常は、非同期的に読み込まれたオブジェクトを XAML から分離または仮想化し、アプリケーション固有のロジックまたはアプリケーションLoadCompletedの状態を使用してが処理されたときに通知します。For this reason it is typical to isolate or virtualize any asynchronously loaded objects from XAML, and to use application-specific logic or application state to notify when LoadCompleted is handled.

が xaml 入力を非同期に読み込むためには、xaml 入力のルート要素に属性と値x:SynchronousMode="Async"が含まれている必要があります。 LoadAsyncIn order for LoadAsync to load XAML input asynchronously, the root element in the XAML input must contain the attribute and value x:SynchronousMode="Async". 値は大文字と小文字を区別して扱われます。The value is treated as case sensitive. XAML 入力ルートにが含まx:SynchronousMode="Async"れていない場合、例外はスローされず、呼び出しは同期読み込みとして処理されます (「」を参照してくださいLoad(Stream))。If the XAML input root does not contain x:SynchronousMode="Async", no exception is thrown, and the call is processed as a synchronous load (see Load(Stream)).

一度に実行できるのは、 XamlReaderクラスのインスタンスごとに1つの非同期読み込み操作だけです。Only one asynchronous load operation per instance of the XamlReader class can be performed at a time. XamlReaderクラスの同じインスタンスで複数の非同期操作を実行しようとするとInvalidOperationException 、がスローされます。If more than one asynchronous operation is attempted on the same instance of the XamlReader class an InvalidOperationException is thrown.

こちらもご覧ください

LoadAsync(XmlReader)

指定した XmlReader 内の XAML 入力を読み取り、対応するオブジェクト ツリーのルートを返します。Reads the XAML input in the specified XmlReader and returns the root of the corresponding object tree.

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
XmlReader

XAML 入力を既に読み込んでいる (読み取っている) 既存の XmlReaderAn existing XmlReader that has already loaded/read the XAML input.

戻り値

作成されたオブジェクト ツリーのルート。The root of the created object tree.

例外

readernullです。reader is null.

1 つの XamlReader で、複数の読み込み操作が同時に実行されます。Multiple load operations are performed concurrently with the same XamlReader.

注釈

非同期 XAML 読み込み操作は、最初は単にルートオブジェクトであるオブジェクトを返します。An asynchronous XAML load operation will initially return an object that is purely the root object. 非同期的に XAML 解析が続行され、子オブジェクトがルートの下に格納されます。Asynchronously, XAML parsing then continues, and any child objects are filled in under the root. これは、一般的な WPF XAML 処理の動作と、オブジェクトの有効期間の WPF 概念との相互作用とは対照的です。This is in contrast to the typical WPF XAML processing behavior and its interaction with WPF concepts of object lifetime. 一般的な (非同期ではない) 相互作用では、要素を返す前にすべての子コレクションを含むオブジェクトのすべてのプロパティが入力され、読み込まれたものとして報告されます。In the typical (non-async) interaction, all properties of an object including all child collections are filled before returning an element and reporting it as loaded. この動作は、ルートオブジェクトが使用可能になる最後のオブジェクトであるツリーを作成するためのボトムアップ方式に相当します。That behavior equates to a bottom-up methodology for creating the tree where the root object is the last object to become available.

通常、返されるオブジェクトLoadAsyncは、アプリケーションのオブジェクトツリー内のある場所に割り当てられます。その際、コンテンツがまだ入力されている可能性があります。また、コンテンツ全体がUI.You typically would assign the returned object from LoadAsync to some location in your application's object tree, with the knowledge that content might still be filling in and might cause incremental layout updates if the entire content is exposed as part of the UI. このため、通常は、非同期的に読み込まれたオブジェクトを XAML から分離または仮想化し、アプリケーション固有のロジックまたはアプリケーションLoadCompletedの状態を使用してが処理されたときに通知します。For this reason it is typical to isolate or virtualize any asynchronously loaded objects from XAML, and to use application-specific logic or application state to notify when LoadCompleted is handled.

が xaml 入力を非同期に読み込むためには、xaml マークアップのルート要素に属性と値x:SynchronousMode="Async"が含まれている必要があります。 LoadAsyncIn order for LoadAsync to load XAML input asynchronously, the root element in the XAML markup must contain the attribute and value x:SynchronousMode="Async". 値は大文字と小文字を区別して扱われます。The value is treated as case sensitive. XAML マークアップルートにが含まx:SynchronousMode="Async"れていない場合、例外はスローされず、呼び出しは同期読み込みとして処理されます (「」を参照してくださいLoad(XmlReader))。If the XAML markup root does not contain x:SynchronousMode="Async", no exception is thrown, and the call is instead processed as a synchronous load (see Load(XmlReader)).

一度に実行できるのは、 XamlReaderクラスのインスタンスごとに1つの非同期読み込み操作だけです。Only one asynchronous load operation per instance of the XamlReader class can be performed at a time. XamlReaderクラスの同じインスタンスで複数の非同期操作を実行しようとするとInvalidOperationException 、がスローされます。If more than one asynchronous operation is attempted on the same instance of the XamlReader class an InvalidOperationException is thrown.

こちらもご覧ください

LoadAsync(Stream, ParserContext)

指定した Stream 内の XAML 入力を読み取り、対応するオブジェクト ツリーのルートを返します。Reads the XAML input in the specified Stream and returns the root of the corresponding object tree.

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

パラメーター

stream
Stream

読み込む XAML 入力を格納しているストリーム。A stream containing the XAML input to load.

parserContext
ParserContext

パーサーで使用するコンテキスト情報。Context information used by the parser.

戻り値

作成されたオブジェクト ツリーのルート。The root of the created object tree.

例外

streamnullです。stream is null.

1 つの XamlReader で、複数の読み込み操作が同時に実行されます。Multiple load operations are performed concurrently with the same XamlReader.

注釈

非同期 XAML 読み込み操作は、最初は単にルートオブジェクトであるオブジェクトを返します。An asynchronous XAML load operation will initially return an object that is purely the root object. 非同期的に XAML 解析が続行され、子オブジェクトがルートの下に格納されます。Asynchronously, XAML parsing then continues, and any child objects are filled in under the root. これは、一般的な WPF XAML 処理の動作と、オブジェクトの有効期間の WPF 概念との相互作用とは対照的です。This is in contrast to the typical WPF XAML processing behavior and its interaction with WPF concepts of object lifetime. 一般的な (非同期ではない) 相互作用では、要素を返す前にすべての子コレクションを含むオブジェクトのすべてのプロパティが入力され、読み込まれたものとして報告されます。In the typical (non-async) interaction, all properties of an object including all child collections are filled before returning an element and reporting it as loaded. この動作は、ルートオブジェクトが使用可能になる最後のオブジェクトであるツリーを作成するためのボトムアップ方式に相当します。That behavior equates to a bottom-up methodology for creating the tree where the root object is the last object to become available.

通常、返されるオブジェクトは、アプリケーションのオブジェクトツリー内のある場所に割り当てられます。これには、コンテンツがまだ入力されている可能性があり、コンテンツ全体が UI の一部として公開されている場合は、レイアウトの増分更新が発生する可能性があります。You typically would assign the returned object to some location in your application's object tree, with the knowledge that content might still be filling in and might cause incremental layout updates if the entire content is exposed as part of the UI. このため、通常は、非同期的に読み込まれたオブジェクトを XAML から分離または仮想化し、アプリケーション固有のロジックまたはアプリケーションLoadCompletedの状態を使用してが処理されたときに通知します。For this reason it is typical to isolate or virtualize any asynchronously loaded objects from XAML, and to use application-specific logic or application state to notify when LoadCompleted is handled.

がマークx:SynchronousMode="Async"アップを非同期に読み込むためには、XAMLマークアップのルート要素に属性と値が含まれている必要LoadAsyncがあります。In order for LoadAsync to load markup asynchronously, the root element in the XAML markup must contain the attribute and value x:SynchronousMode="Async". 値は大文字と小文字を区別して扱われます。The value is treated as case sensitive. XAML マークアップルートにが含まx:SynchronousMode="Async"れていない場合、例外はスローされず、呼び出しは同期読み込みとして処理されます (「」を参照してくださいLoad(Stream, ParserContext))。If the XAML markup root does not contain x:SynchronousMode="Async", no exception is thrown, and the call is processed as a synchronous load (see Load(Stream, ParserContext)).

一度に実行できるのは、 XamlReaderクラスのインスタンスごとに1つの非同期読み込み操作だけです。Only one asynchronous load operation per instance of the XamlReader class can be performed at a time. XamlReaderクラスの同じインスタンスで複数の非同期操作を実行しようとするとInvalidOperationException 、がスローされます。If more than one asynchronous operation is attempted on the same instance of the XamlReader class an InvalidOperationException is thrown.

こちらもご覧ください

適用対象