看了3天的WPF资料,今天开始试着做了一个WPF小程序,却发现一个很奇怪的问题:
我的界面上有一个TextBox,Name:tbTags
还有一个ComboBox,Name:cbMode,默认值index为0 有一个SelectionChange事件绑定
SelectionChange事件中执行语句
tbTags.IsReadOnly=true;
在我测试程序的时候报错
tbTags.IsReadOnly=true; 标明tbTags的引用没有指向实例
于是我很纳闷
为什么其他的TextBox执行同样的语句没有问题,就这一个出现了问题
左思右想,在XAML文件里找了半天也没发现是书写的问题
最后我想到会不会是因为初始化的顺序有问题
当页面初始化的时候就执行了ComboBox的事件
而这个时候刚好tbTags还没有实例化
所以这个时候就出现了问题
我抱着试一试的心态把tbTabs的标签放到了cbMode的前面
再次测试,居然通过。
我搞不懂WPF中实例化控件是怎么样的过程
难道是一边读取XAML文件一边执行吗?