FrameworkElement.IsInitialized プロパティ


この要素が、XAMLXAML プロセッサによって処理されている間、またはこの要素の EndInit() メソッドが明示的に呼び出されたときに初期化されたかどうかを示す値を取得します。Gets a value that indicates whether this element has been initialized, either during processing by a XAMLXAML processor, or by explicitly having its EndInit() method called.

 property bool IsInitialized { bool get(); };
public bool IsInitialized { get; }
member this.IsInitialized : bool
Public ReadOnly Property IsInitialized As Boolean


前述の true 処理やメソッド呼び出しごとに要素が初期化された場合は XAMLXAML。それ以外の場合は falsetrue if the element is initialized per the aforementioned XAMLXAML processing or method calls; otherwise, false.


このプロパティは、この要素が新しい親要素を持つように論理ツリー内で移動された場合にも true ことがあります。そのため再読み込みが再び行われます。This property may also be true if this element has been moved within the logical tree such that it has a new parent element, and therefore becomes reloaded again.

このプロパティは、BeginInitEndInitを使用している場合に便利です。This property is useful if you also are using BeginInit and EndInit. XAMLXAML プロセッサによって読み込まれる論理ツリー内の要素は、確実に初期化されます。Elements in the logical tree that is loaded by a XAMLXAML processor are assured to be initialized. 論理ツリーに含まれていない要素は EndInit が呼び出されたときに初期化されます。Elements not in the logical tree are initialized when EndInit is called. BeginInitEndInitの特定の処理が存在しない場合、コンストラクターが初期化された結果を返すとすぐにこれが発生します。In absence of any specific handling of BeginInit and EndInit, this will happen as soon as the constructor returns the initialized result.