我有一个使用某个继承的附加属性的控件,我发现我无法在构造函数中访问该属性,这是合理的,因为在那个阶段该控件不是可视化树的一部分,因此它可以'不继承任何附加属性。
// 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
活动?