在控制台应用程序中启动WPF应用程序

king jia

是否可以在控制台模式下启动WPF应用程序?

public partial class App : Application
{
    public App()
    {
        InitializeComponent();
    }
}

<Application x:Class="WPF.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
</Application>

[STAThread]
static void Main(string[] args)
{
  if (args.Length > 0)
  {
     switch (args[0].ToLower())
     {
       case "/g": RunApplication(); break;
     }
  }
}

private static void RunApplication()
{
    var application = new System.Windows.Application();

    application.Run(new App());
}

它将显示参数类型“ WPF.app”不可分配给参数类型“ System.Windows.Window”。

任何解决的办法吗?两者之间有什么不同

1.公共部分类应用程序:应用程序

2.公共局部类App:Window

BK

您可以声明一个Window,然后以这种方式启动您的应用程序:

var application = new System.Windows.Application();
application.Run(new Window());

编辑:

您似乎有些困惑,所以让我解释一下:

假设您有一个程序:

using System;

namespace ConsoleApplication
{
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            RunApplication();
        }

        private static void RunApplication()
        {
            var application = new System.Windows.Application();
            application.Run();
        }
    }
}

这将运行没有窗口的WPF应用程序。

另一方面,如果将Window传递给application.Run(),则将获得WPF窗口。App不应源自Window,因为它应源自Application。

Application.Run方法要么不带参数,要么不带窗口。它不需要应用程序。因此,如果要启动先前创建的应用程序(就像在那边一样),则应执行以下操作:

private static void RunApplication()
{
    var application = new App();
    application.Run();  // add Window if you want a window.
}

最后,如果您只想使用application.Run()而不需要传递特定的Window,只需使用StartupUri在Application XAML中声明一个启动Window:

<Application x:Class="WPF.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         StartupUri="SomeWindow.xaml">
</Application>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从另一个控制台应用程序在WPF应用程序中启动操作

来自分类Dev

如何从控制台应用程序打开WPF窗口

来自分类Dev

WPF应用程序内部的控制台输入

来自分类Dev

使C#控制台应用程序与wpf交互

来自分类Dev

WPF应用程序内部的控制台输入

来自分类Dev

从控制台应用程序显示 Wpf 窗口

来自分类Dev

通过Cmd启动Windows应用程序与控制台应用程序

来自分类Dev

与控制台应用程序通信

来自分类Dev

Commandlet与控制台应用程序

来自分类Dev

调度控制台应用程序

来自分类Dev

在 WPF 应用程序中而不是在控制台应用程序中存在死锁的异步计算

来自分类Dev

当启动应用程序是控制台应用程序时,阻止iisexpress在解决方案中运行网站

来自分类Dev

启动时.NET中的控制台应用程序和Windows应用程序有什么区别

来自分类Dev

启动时.NET中的控制台应用程序和Windows应用程序有什么区别

来自分类Dev

使用 eclipse 和 mingw 的控制台应用程序(不在 cms.exe 中启动应用程序)

来自分类Dev

WebJob控制台应用程序中的ProcessQueueMessage函数

来自分类Dev

在控制台应用程序中实现导航菜单

来自分类常见问题

在控制台应用程序中显示图像

来自分类Dev

控制台应用程序中的进度栏问题

来自分类Dev

控制台应用程序中的颜色

来自分类Dev

在控制台应用程序中同步运行的任务

来自分类Dev

控制台应用程序中的存储过程

来自分类Dev

在Nim中退出控制台应用程序

来自分类Dev

控制台应用程序中的异步等待

来自分类Dev

控制台应用程序中的Linux Qt QSystemTrayIcon

来自分类Dev

控制台应用程序中的Unity Config错误

来自分类Dev

控制台应用程序中的存储过程

来自分类Dev

简单控制台测试应用程序中的NullPointerException

来自分类Dev

在控制台应用程序中解析粘贴的文本

Related 相关文章

  1. 1

    从另一个控制台应用程序在WPF应用程序中启动操作

  2. 2

    如何从控制台应用程序打开WPF窗口

  3. 3

    WPF应用程序内部的控制台输入

  4. 4

    使C#控制台应用程序与wpf交互

  5. 5

    WPF应用程序内部的控制台输入

  6. 6

    从控制台应用程序显示 Wpf 窗口

  7. 7

    通过Cmd启动Windows应用程序与控制台应用程序

  8. 8

    与控制台应用程序通信

  9. 9

    Commandlet与控制台应用程序

  10. 10

    调度控制台应用程序

  11. 11

    在 WPF 应用程序中而不是在控制台应用程序中存在死锁的异步计算

  12. 12

    当启动应用程序是控制台应用程序时,阻止iisexpress在解决方案中运行网站

  13. 13

    启动时.NET中的控制台应用程序和Windows应用程序有什么区别

  14. 14

    启动时.NET中的控制台应用程序和Windows应用程序有什么区别

  15. 15

    使用 eclipse 和 mingw 的控制台应用程序(不在 cms.exe 中启动应用程序)

  16. 16

    WebJob控制台应用程序中的ProcessQueueMessage函数

  17. 17

    在控制台应用程序中实现导航菜单

  18. 18

    在控制台应用程序中显示图像

  19. 19

    控制台应用程序中的进度栏问题

  20. 20

    控制台应用程序中的颜色

  21. 21

    在控制台应用程序中同步运行的任务

  22. 22

    控制台应用程序中的存储过程

  23. 23

    在Nim中退出控制台应用程序

  24. 24

    控制台应用程序中的异步等待

  25. 25

    控制台应用程序中的Linux Qt QSystemTrayIcon

  26. 26

    控制台应用程序中的Unity Config错误

  27. 27

    控制台应用程序中的存储过程

  28. 28

    简单控制台测试应用程序中的NullPointerException

  29. 29

    在控制台应用程序中解析粘贴的文本

热门标签

归档