【wpf】Initialized 事件的使用

故事背景:

我自定义了一个元素,我想在构建元素的同时,设置Bindding,于是我把设置Bindding的部分写到

了元素的构造函数之中。

我在绑定的过程中,是涉及到了元素的某些属性的,但是在元素的构造函数被调用时,元素的很多属性还没有准备好(比如在Xaml中赋值的属性)从而导致binding工作不正常。

于是我想到了重写Onloaded方法,结果发现元素并没有这个方法可以被重新。

但是OnInitialized这个方法被我找到。这里截个图,介绍loaded和Initialized事件的区别:

 最后,我重写OnInitialized如下:

protected override void OnInitialized(EventArgs e)
{
    base.OnInitialized(e);
    //绑定必须写道OnInitialized中,而不能是构造函数中,OnInitialized被触发,表示该控件已经构造完成
    SetBackgroundBinding();
    SetTextBinding();
}

posted @   宋桓公  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2020-11-04 Vagrant 创建的虚拟机 如何用xshell登陆(初步记录)
2013-11-04 Verilog中的有符号计算之认知补码
点击右上角即可分享
微信分享提示