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です。

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

注釈

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

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

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

XamlReader クラスのインスタンスごとに一度に実行できる非同期読み込み操作は 1 つだけです。 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 入力を含むストリーム。

返品

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

例外

streamnullです。

複数の読み込み操作は、同じ XamlReaderで同時に保留中です。

注釈

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

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

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

XamlReader クラスのインスタンスごとに一度に実行できる非同期読み込み操作は 1 つだけです。 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
XmlReader

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

返品

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

例外

readernullです。

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

注釈

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

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

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

XamlReader クラスのインスタンスごとに一度に実行できる非同期読み込み操作は 1 つだけです。 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)によってスローされる例外を参照してください。

適用対象