【wpf】Initialized 事件的使用
故事背景:
我自定义了一个元素,我想在构建元素的同时,设置Bindding,于是我把设置Bindding的部分写到
了元素的构造函数之中。
我在绑定的过程中,是涉及到了元素的某些属性的,但是在元素的构造函数被调用时,元素的很多属性还没有准备好(比如在Xaml中赋值的属性)从而导致binding工作不正常。
于是我想到了重写Onloaded方法,结果发现元素并没有这个方法可以被重新。
但是OnInitialized这个方法被我找到。这里截个图,介绍loaded和Initialized事件的区别:
最后,我重写OnInitialized如下:
protected override void OnInitialized(EventArgs e)
{
base.OnInitialized(e);
//绑定必须写道OnInitialized中,而不能是构造函数中,OnInitialized被触发,表示该控件已经构造完成
SetBackgroundBinding();
SetTextBinding();
}
作者:宋桓公
出处:http://www.cnblogs.com/douzi2/
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。