level 10



一堆复杂的代码,可见微软已经帮我们把链接程序的功能都实现了,并且当我们在Xaml文件中注册事件时,微软会自动更新这里的代码,帮我们把复杂的一些过程都处理掉了,和Winform中的.designer.cs文件有点类似。
后台别忘记加上Button_Click的方法,这里只是示例,所以没有任何逻辑代码:
这个时候我们再导航进InitializeComponent方法中看下Connect方法的代码:
这里可以看到#line的预编译指令以及注册路由事件的代码,这也就是为什么我们在Xaml中添加事件就立即能实现的原因,这并不是什么神秘的事情,只不过是微软将这些细节性的代码自动在这里生成了而已。
错误说是后台的分部类MainWindow的访问修饰符不一致,这个时候我们手动添加这个Attribute便能解决这个问题,代码如下:
用过IL反编译工具的可以自己试着把这个wpf项目反编译成IL查看一下,此时生成的MainWindow这个类不是public的
在后台的Button_Click中添加处理代码:
这个时候我们在后台文件中可以直接获得这个TextBlock的引用并修改它的属性,为什么能获得这个引用呢,大家可以再次跑到InitializeComponent所在的.g.i.cs文件中,会发现多出tbNum这个对象的声明,因此我们才可以在后台的类文件中直接操作这个对象了(和Winform一样)
在Xaml文件修改代码如下
别忘记添加命名空间,我们在Xaml中通过x:Static可以获得后台类文件下的WindowTitle静态属性。运行后会发现Window的Title改变了。