zoukankan      html  css  js  c++  java
  • 关于win8开发的一点小总结

    我今天做画面的时候,发现了一点小问题。

    我在xmal文件里面加了一个CheckBox控件,设置IsChecked属性为True,并添加了Checked事件。Checked事件里面有对另外一个TextBox的访问。

    这时候我运转程序,它会先走构造方法的InitializeComponent方法,然后就直接走到Checked事件,这时候可以看到TextBox是个null值,也就是说它还没被初期化。

    我的理解是InitializeComponent方法先初期化CheckBox,当初期化它的IsChecked属性时,先走到了Checked事件,然后跳出该事件再去初始化其他的控件。

    还有另外一种方式:

    我不在xaml文件里面设置IsChecked属性,当走完构造方法的InitializeComponent方法后,再去设置这个IsChecked属性为True。

    这个时候程序走完InitializeComponent方法,然后走到设置属性的地方之后,就会跳到Checked事件里面,这个时候TextBox是有值的,因为所有控件已经被初期化。

    接下来我再次打开这个画面,不去new,也就是不走InitializeComponent方法的情况下,无论哪种方式都不会再走到Checked事件里面。

    如果说第一种方式我理解(IsChecked属性放在xmal文件里,都不走InitializeComponent方法了,也就是说这个属性不被初期化的情况下,又怎么会走到Checked事件),第二种我就有点不懂了。

    第二种方式无论是第一次打开画面时,也是InitializeComponent方法已经走完了的情况下,才去设置的该属性,为什么它就能走到Checked事件,而第二次打开不走InitializeComponent方法的情况下,就走不进了呢?

  • 相关阅读:
    第十二周作业
    2019春总结作业
    第一次实验总结
    第二次实验总结
    第十二周
    第十一周作业
    第九周作业
    第八周作业
    第七周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/summer1987/p/3958581.html
Copyright © 2011-2022 走看看