WPF - 在App.g.cs中关闭Main的autogen

时间:2009-06-27 13:55:16

标签: wpf app.xaml

我正在学习WPF。

我想在我的App.xaml.cs中提供我自己的Main方法,而不是在App.g.cs中为我生成一个。但是我一直在遇到冲突,因为我还没有找到如何阻止生成额外的Main。

我的项目文件或其他地方是否有设置控制此设置?

6 个答案:

答案 0 :(得分:18)

我在这里找到了答案。 http://learnwpf.com/post/2007/12/13/How-can-I-provide-my-own-Main%28%29-method-in-my-WPF-application.aspx

是:

  

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)

我找到了解决方案:

  1. 复制app.xaml文件中的数据
  2. 删除app.xaml文件并使用相同名称重新创建
  3. 在.cs文件中创建`main`方法,并将旧的复制代码粘贴到其中

答案 4 :(得分:0)

一种方法是放弃在XAML中定义Application派生类,因此您可以使用自定义需求手动定义Main方法

答案 5 :(得分:0)

Easy方法只需创建一个类似Startup.cs的类,并使用构建操作进行编译 并从App.xaml中删除ApplicationDefinition将其转换为页面 并将其从应用程序中的任何其他文件中删除