app.xaml找不到InitializeComponent方法
报错内容
"App" 未包含 "InitializeComponent" 的定义,并且找不到可接受第一个 "App" 类型参数的可访问扩展方法"InitializeComponent"(是否缺少 using 指令或程序集引用?)
两种情况
1.app.xaml的x:class的内容写错了
需要将app.xaml的命名空间和app.xaml.cs的命名空间对应上
2.app.xaml的文件属性错误
默认情况下app.xaml的属性是 ApplicationDefinition(应用程序定义),代表是 wpf 程序的入口,如果将应用程序的入口写到其他地方,需要将此文件的属性修改成 page(页),否则或出现找不到 InitializeComponent 方法的问题。
InitializeComponent的作用
本质上,InitializeComponent() 方法的所有工作就是调用 System.Windows.Application 类的LoadComponent() 方法。LoadComponent() 方法是从程序集中提取 BAML,并使用它构造用户界面。当解析BAML时,它会创建每个控件对象,设置其属性,并关联所有事件处理程序。
此方法为正在加载的 Window 找到XAML的URIUserControl,并将其传递给System.Windows.Application.LoadComponent()静态方法。LoadComponent()加载位于传入的URI中的XAML文件,并将其转换为XAML文件的根元素指定的对象的实例。
更详细地,LoadComponent创建的实例XamlParser,并构建XAML的树。每个节点都由解析XamlParser.ProcessXamlNode()。这被传递给BamlRecordWriter班级。
分类:
.net技术 / WPF
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!