在创建WPF和winform时,逻辑代码所在的partial class的构造器中一定会有InitializeComponent()方法,有时候我们会发现InitializeComponent()下出现红色波浪线
出现该现象的原因是前台文件(即设计文件)的类名和后台文件的类名不相同。
拿WPF举例:
后台代码的namespace是A,class是B,那么前台设计器(xaml文件)的X:class="A.B"
还有一种最最恶心的。。。(就是上图显示的InitializeComponent函数所在的源文件没有和你自己写的那个partial class的namespace一致)后台代码由于是partial class ,你自己写的那部分partial class命名空间一开始是A.B,系统自动生成的那部分namespace也是A.B,这时候你手贱把A.B改成了A.C但是系统自动生成的(就是定义InitializeComponent函数的那个partial class的原文件)的namespace并没有随之修改城A.C,这时候你又不知道原来的namespace叫A.B(因为项目必然是多人开发),那这时候你只能重新建一个新的xaml文件,把代码复制粘贴进去,并且默认的namespace直接起为A.C,这样就从根源上解决了命名空间不一致的问题。
如果还不行。。。那可能就要修改项目文件了(.csproj)
总结:winform文件是两个partial class必须namespace一致,wpf是两个partial class和xaml文件一共三个部分的namespace必须一致,否则就会导致InitializeComponent标红。