从 ASP.NET 页面按钮启动 WPF 单击
Posted
技术标签:
【中文标题】从 ASP.NET 页面按钮启动 WPF 单击【英文标题】:Launch WPF from ASP.NET page button click 【发布时间】: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。 您的评论就是答案(这正是我在回答中所说的)。 请不要将其作为评论发布,将其发布为答案并接受它。 【参考方案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();
【讨论】:
以上是关于从 ASP.NET 页面按钮启动 WPF 单击的主要内容,如果未能解决你的问题,请参考以下文章