特定の継承されたアタッチされたプロパティを使用するコントロールがありますが、コンストラクターでそのプロパティにアクセスできないことがわかりました。これは、その段階ではコントロールがビジュアルツリーの一部ではないため、次のことができるためです。アタッチされたプロパティを継承しません。
// Constructor
public MyClassName()
{
InitializeComponent();
MyValue value = DeclaringClass.GetMyAttachedProperty(depObj); // value == null
}
Loaded
イベント中にプロパティにアクセスしようとすると、次の値を取得できます。
// Constructor
public MyClassName()
{
InitializeComponent();
Loaded += OnLoaded;
}
void OnLoaded(object sender, RoutedEventArgs e)
{
Loaded -= OnLoaded;
MyValue value = DeclaringClass.GetMyAttachedProperty(depObj); // value != null
// Do something with value
}
だから、これは私の質問に私をもたらします-継承されたアタッチされたプロパティにアクセスできるコントロールの存続期間の最初の段階は何ですか?Loaded
代わりにイベントでそうするためのより良い場所はありますか?