1

コントロールで GetAdornerLayer(control) を呼び出してレイヤーに adorner を追加すると、GetAdornerLayer(adorner) を呼び出すと同じレイヤーが返されますか? コントロールに装飾を追加するコードがあり、コントロールがなくなるとその装飾を削除する必要があるためです。その時点でビジュアル ツリーから既に削除されているため、コントロールの Unloaded イベントで GetAdornerLayer(control) を呼び出すことはできませんが、GetAdornerLayer(adorner) は機能しているように見えます

4

1 に答える 1

0

GetAdornerLayer(adorner) は、adorner の AdornerLayer を返します。AdornerLayer は、Adorner の親です (装飾する要素ではありません)。

また、ビジュアル ツリーの有効期間中は同じ AdornerLayer であるため、参照をキャッシュできます。

これはすべて Reflector で確認できます。

于 2009-07-12T21:26:57.837 に答える