【问题标题】:WPF - Shut-off autogen of Main in App.g.csWPF - 关闭 App.g.cs 中 Main 的自动生成
【发布时间】:2010-11-06 09:00:35
【问题描述】:

我正在学习 WPF。

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

我的项目文件或其他地方是否有设置可以控制这个?

【问题讨论】:

    标签: wpf app.xaml


    【解决方案1】:

    我在这里找到了答案。 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 方法,您可以在添加到项目的常规类文件中提供自己的方法。

    然而,在上述博客的 cmets 中,一条评论指出混合可能存在问题,并引用:http://blogs.msdn.com/expression/archive/2008/04/09/creating-a-wpf-blend-project-that-loads-resources-in-code.aspx。我还没有完全理解这些问题。

    【讨论】:

      【解决方案2】:

      您也可以只创建一个单独的类(例如,Entry),它负责引导您的应用程序。然后转到项目设置并将您的启动对象设置为Entry。这样您甚至不必禁用自动生成的方法。

      【讨论】:

      • 似乎是最干净的方法,我想知道有什么缺点吗?
      【解决方案3】:

      最简单的方法是将“属性”窗口中的“构建操作”从 ApplicationDefinition 设置为 App.Xaml 的页面。

      然后你可以定义你自己的入口点。

      【讨论】:

        【解决方案4】:

        我找到了解决办法:

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

        【讨论】:

          【解决方案5】:

          一种方法是放弃在 XAML 中定义应用程序派生类,因此您可以根据自定义要求手动定义 Main 方法

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              猜你喜欢
              • 2021-10-27
              • 1970-01-01
              • 2015-05-11
              • 1970-01-01
              • 2013-06-20
              • 1970-01-01
              • 1970-01-01
              • 2013-07-12
              • 2010-09-16
              相关资源
              最近更新 更多