【问题标题】:Launch WPF from ASP.NET page button click从 ASP.NET 页面按钮启动 WPF 单击
【发布时间】:2011-08-11 08:20:12
【问题描述】:

我正在尝试编写一个包含按钮的 aspx 页面,该按钮的单击事件应导致打开 WPF 表单以进行进一步处理。我正在尝试使用新的进程对象来启动 WPF 应用程序。

我在后面的代码中使用如下代码:

protected void Btn_Click(对象发送者,EventArgs e) { 进程 WPF = new Process(); WPF.StartInfo.FileName = "WpfApplication1.exe"; WPF.Start(); }

在执行时,按钮单击执行,没有任何异常,但 WPF 窗口没有打开。

谁能帮帮我。

谢谢。

【问题讨论】:

  • 我google了一下,发现如下讨论:social.msdn.microsoft.com/forums/en-US/wpf/thread/…总结是WPF不能从ASP.NET启动。为此需要 XBAP。
  • 您的评论就是答案(这正是我在回答中所说的)。
  • 请不要将其作为评论发布,将其发布为答案并接受它。

标签: asp.net wpf


【解决方案1】:

您发布的代码启动(或尝试启动)WPF 应用程序在服务器上

如果您希望客户端运行 WPF 应用程序,您可以使用 XBAP 应用程序或通过 ClickOnce 部署分发的常规 WPF 应用程序,以便您可以在网页上添加指向该应用程序的链接。

【讨论】:

    【解决方案2】:

    要从 asp.net 启动 WPF 表单,请转到后面代码的 查看代码 并为 WPF 表单创建一个对象,然后在 Page_Load 事件中粘贴以下代码

     protected void Page_Load(object sender, EventArgs e)
            {
                Thread t = new Thread(() =>
                {
                    mainWindow = new MainWindow();
                    mainWindow.Show();
                    System.Windows.Threading.Dispatcher.Run();
                });
                t.SetApartmentState(ApartmentState.STA);
                t.IsBackground = true;
                t.Start();
                createDB();
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-19
      • 2017-05-17
      • 2014-10-21
      • 2018-01-06
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      相关资源
      最近更新 更多