XamlReader.LoadAsync メソッド

定義

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

戻り値

Object

適用対象

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

戻り値

Object

適用対象

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

パーサーで使用するコンテキスト情報。

戻り値

Object

作成されたオブジェクト ツリーのルート。

例外

streamnullです。

1 つの XamlReader で、複数の読み込み操作が同時に実行されます。

注釈

非同期 XAML 読み込み操作では、最初は純粋にルート オブジェクトであるオブジェクトが返されます。 非同期的に XAML 解析が続行され、すべての子オブジェクトがルートの下に入力されます。 これは、一般的な WPF XAML 処理動作と、オブジェクトの有効期間に関する WPF の概念との相互作用とは対照的です。 一般的な (非同期ではない) 相互作用では、要素を返して読み込み済みとして報告する前に、すべての子コレクションを含むオブジェクトのすべてのプロパティが塗りつぶされます。 この動作は、ルート オブジェクトが使用可能になる最後のオブジェクトであるツリーを作成するためのボトムアップ手法に相当します。

通常は、返されたオブジェクトをアプリケーションのオブジェクト ツリー内の特定の場所に割り当てます。コンテンツが埋め込まれている可能性があり、コンテンツ全体が UI の一部として公開されている場合は、増分レイアウトの更新が発生する可能性があることを知っています。 このため、非同期に読み込まれたオブジェクトを XAML から分離または仮想化し、アプリケーション固有のロジックまたはアプリケーションの状態を使用して、いつ LoadCompleted 処理されるかを通知するのが一般的です。

マークアップを非同期的に読み込むには LoadAsync 、XAML マークアップのルート要素に属性と値 x:SynchronousMode="Async"が含まれている必要があります。 この値は大文字と小文字が区別されます。 XAML マークアップ ルートに含 x:SynchronousMode="Async"まれていない場合、例外はスローされず、呼び出しは同期読み込みとして処理されます (参照 Load(Stream, ParserContext))。

一度に実行できる非同期読み込み操作は、クラスの XamlReader インスタンスごとに 1 つだけです。 クラスの同じインスタンスで複数の XamlReader 非同期操作が試行された場合は、an InvalidOperationException がスローされます。

こちらもご覧ください

適用対象

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 入力を格納しているストリーム。

戻り値

Object

作成されたオブジェクト ツリーのルートとなるオブジェクト。

例外

streamnullです。

1 つの XamlReader で、複数の読み込み操作が同時に保留になります。

注釈

非同期 XAML 読み込み操作では、最初は純粋にルート オブジェクトであるオブジェクトが返されます。 非同期的に XAML 解析が続行され、すべての子オブジェクトがルートの下に入力されます。 これは、一般的な WPF XAML 処理動作と、オブジェクトの有効期間の WPF の概念との相互作用とは対照的です。 一般的な (非同期ではない) 操作では、要素を返して読み込み済みとして報告する前に、すべての子コレクションを含むオブジェクトのすべてのプロパティが入力されます。 この動作は、ルート オブジェクトが使用可能になる最後のオブジェクトであるツリーを作成するためのボトムアップ手法に相当します。

通常は、返されたオブジェクトを WPF アプリケーションのオブジェクト ツリー内の特定の場所に割り当てます。コンテンツがまだ埋め込まれている可能性があり、コンテンツ全体が UI の一部として公開されている場合は、レイアウトの増分更新が発生する可能性があります。 このため、XAML から非同期に読み込まれたオブジェクトを分離または仮想化し、アプリケーション固有のロジックまたはアプリケーションの状態を使用して、いつ LoadCompleted 処理されるかを通知するのが一般的です。

XAML 入力を非同期的に読み込むには LoadAsync 、XAML 入力のルート要素に属性と値 x:SynchronousMode="Async"が含まれている必要があります。 この値は大文字と小文字が区別されます。 XAML 入力ルートに含 x:SynchronousMode="Async"まれていない場合、例外はスローされず、呼び出しは同期読み込みとして処理されます (参照 Load(Stream))。

一度に実行できる非同期読み込み操作は、クラスの XamlReader インスタンスごとに 1 つだけです。 クラスの同じインスタンスで複数の XamlReader 非同期操作が試行された場合は、an InvalidOperationException がスローされます。

こちらもご覧ください

適用対象

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
XmlReader

XAML 入力を既に読み込んでいる (読み取っている) 既存の XmlReader

戻り値

Object

作成されたオブジェクト ツリーのルート。

例外

readernullです。

1 つの XamlReader で、複数の読み込み操作が同時に実行されます。

注釈

非同期 XAML 読み込み操作では、最初は純粋にルート オブジェクトであるオブジェクトが返されます。 非同期的に XAML 解析が続行され、すべての子オブジェクトがルートの下に入力されます。 これは、一般的な WPF XAML 処理動作と、オブジェクトの有効期間に関する WPF の概念との相互作用とは対照的です。 一般的な (非同期ではない) 相互作用では、要素を返して読み込み済みとして報告する前に、すべての子コレクションを含むオブジェクトのすべてのプロパティが塗りつぶされます。 この動作は、ルート オブジェクトが使用可能になる最後のオブジェクトであるツリーを作成するためのボトムアップ手法に相当します。

通常は、返されたオブジェクトをアプリケーションのオブジェクト LoadAsync ツリー内の特定の場所に割り当てます。コンテンツが埋め込まれている可能性があり、コンテンツ全体が UI の一部として公開されている場合は、増分レイアウトの更新が発生する可能性があります。 このため、非同期に読み込まれたオブジェクトを XAML から分離または仮想化し、アプリケーション固有のロジックまたはアプリケーションの状態を使用して、いつ LoadCompleted 処理されるかを通知するのが一般的です。

XAML 入力を非同期的に読み込むには LoadAsync 、XAML マークアップのルート要素に属性と値 x:SynchronousMode="Async"が含まれている必要があります。 この値は大文字と小文字が区別されます。 XAML マークアップ ルートに含 x:SynchronousMode="Async"まれていない場合、例外はスローされず、呼び出しは代わりに同期読み込みとして処理されます (参照 Load(XmlReader))。

一度に実行できる非同期読み込み操作は、クラスの XamlReader インスタンスごとに 1 つだけです。 クラスの同じインスタンスで複数の XamlReader 非同期操作が試行された場合は、an InvalidOperationException がスローされます。

こちらもご覧ください

適用対象

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

戻り値

Object

適用対象