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

戻り値

注釈

このメソッドは、メソッドの同期的な例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクの待機時にスローされます。 などの 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

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

戻り値

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

例外

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 つだけです。 クラスInvalidOperationExceptionの同じインスタンスで複数のXamlReader非同期操作が試行された場合、 がスローされます。

このメソッドは、メソッドの同期的な例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクの待機時にスローされます。 などの 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 入力を格納しているストリーム。

戻り値

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

例外

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 つだけです。 クラスInvalidOperationExceptionの同じインスタンスで複数のXamlReader非同期操作が試行された場合、 がスローされます。

このメソッドは、メソッドの同期的な例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクの待機時にスローされます。 などの 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
XmlReader

XAML 入力を既に読み込み/読み取りしている既存 XmlReader の 。

戻り値

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

例外

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 つだけです。 クラスInvalidOperationExceptionの同じインスタンスで複数のXamlReader非同期操作が試行された場合、 がスローされます。

このメソッドは、メソッドの同期的な例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクの待機時にスローされます。 などの 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)スローされる例外に関するページを参照してください。

適用対象