我正在学习WPF。
我想在我的App.xaml.cs中提供我自己的Main方法,而不是在App.g.cs中为我生成一个。但是我一直在遇到冲突,因为我还没有找到如何阻止生成额外的Main。
我的项目文件或其他地方是否有设置控制此设置?
答案 0 :(得分:18)
是:
WPF知道为特定xaml文件创建Main()方法的方式是通过为App.xaml设置的构建操作属性 - 它具有ApplicationDefinition的构建操作。通过将其更改为Page WPF将不会创建Main方法,您可以在添加到项目中的常规类文件中提供自己的方法。
然而,在对上述博客的评论中,评论指出混合可能存在问题,它引用了http://blogs.msdn.com/expression/archive/2008/04/09/creating-a-wpf-blend-project-that-loads-resources-in-code.aspx。我还没有完全理解这些问题。
答案 1 :(得分:6)
您还可以创建一个单独的类(例如,Entry
),该类负责引导您的应用程序。然后转到项目设置并将启动对象设置为Entry
。这样你甚至不必禁用自动生成的方法。
答案 2 :(得分:1)
最简单的方法是将Properties窗口中的Build Action从ApplicationDefinition设置为App.Xaml的Page。
然后你可以定义自己的入口点。
答案 3 :(得分:0)
我找到了解决方案:
答案 4 :(得分:0)
一种方法是放弃在XAML中定义Application派生类,因此您可以使用自定义需求手动定义Main方法
答案 5 :(得分:0)
Easy方法只需创建一个类似Startup.cs的类,并使用构建操作进行编译 并从App.xaml中删除ApplicationDefinition将其转换为页面 并将其从应用程序中的任何其他文件中删除