我正在学习WPF。
我想要在App.xaml.cs中提供自己的Main方法,而不是在App.g.cs中生成一个Main方法。然而,由于我没有找到如何阻止生成额外Main方法的方法,因此我一直遇到冲突。
我的项目文件或其他地方是否有控制这个的设置?
具体方法如下:
WPF 知道为特定的 XAML 文件创建 Main() 方法是通过为 App.xaml 设置的构建操作属性来实现的 - 它具有 ApplicationDefinition 的构建操作类型。将其更改为 Page 后,WPF 将不会创建 Main 方法,您可以在项目中添加的常规类文件中提供自己的 Main 方法。
然而,在上述博客的评论中,有一条评论指出可能存在与 Blend 相关的问题,引用了以下链接:http://blogs.msdn.com/expression/archive/2008/04/09/creating-a-wpf-blend-project-that-loads-resources-in-code.aspx。我还没有完全理解这个问题。
您也可以创建一个单独的类(例如Entry
),负责引导您的应用程序。然后转到项目设置并将启动对象设置为Entry
。这样,您甚至不必禁用自动生成的方法。
最简单的方法是将应用程序定义(App.Xaml)文件的“生成操作”(Build Action)从ApplicationDefinition设置为Page。
然后,您可以定义自己的入口点。
简单的方法是创建一个类,例如Startup.cs,并将其构建操作设置为编译, 然后从App.xaml中删除ApplicationDefinition并将其转换为页面, 最后从应用程序的任何其他文件中删除它。
我找到了一个解决方案: