WPF调用外部程序

想通过main()函数传递参数,先重载下面的OnStartup()

 public partial class App : Application
    {
        public static string args0;
        protected override void OnStartup(StartupEventArgs e)
        {           
            if(e.Args != null && e.Args.Length > 0)
                args0 = e.Args[0].ToString();
            base.OnStartup(e);
        }
    }

然后在App.xaml中看到StartupUri="MainWindow.xaml"

那么在MainWindow.xaml.cs中就可以通过App.args0获取传递进来的参数了

 

 

若想调用外部程序用 Process.Start("绝对路径+xx.exe", "参数1"); 

 

 

很有用哦

### 回答1: 在WPF中,可以通过使用外部窗口的窗口句柄来实现窗口的嵌入。可以使用WindowsFormsHost控件来实现此目的。 首先,需要将WindowsFormsIntegration命名空间添加到WPF项目中。然后,在XAML文件中创建一个WindowsFormsHost控件,用于承载外部窗口。 接下来,在代码后台,通过创建一个WindowsFormsHost的实例,可以使用Control属性将外部窗口嵌入到这个控件中。如下所示: ```csharp WindowsFormsHost windowsFormsHost = new WindowsFormsHost(); windowsFormsHost.Child = externalWindow; ``` 在上面的代码中,externalWindow是一个WinForms窗口的实例。此窗口将会嵌入到WindowsFormsHost控件中。 最后,将windowsFormsHost控件添加到WPF窗口中的UI元素中,即可在WPF应用程序中嵌入外部窗口。例如: ```xaml <Grid> <WindowsFormsHost Name="windowsFormsHost"/> </Grid> ``` 这样,外部窗口将会在WPF应用程序中显示出来。需要注意的是,由于WPF和WinForms使用不同的UI线程,因此在进行窗口嵌入时,可能需要进行线程间的调度和同步操作。 总之,通过使用WindowsFormsHost控件,我们可以在WPF应用程序中嵌入外部窗口,实现不同技术栈之间的互操作。 ### 回答2: 外部窗口嵌入WPF是指将其他应用程序的窗口嵌入到WPF应用程序中。通过这种方式,可以在WPF应用程序中显示其他应用程序的整个窗口,以便与该应用程序进行交互。 实现外部窗口嵌入的方法有多种,其中一种常用的方法是使用WindowsFormsHost控件。WindowsFormsHost是一个WPF控件,它可以承载Windows Forms控件。通过将WindowsFormsHost控件放置在WPF应用程序的布局中,然后将要嵌入的外部窗口以Windows Forms控件的形式添加到WindowsFormsHost控件中,就可以实现外部窗口的嵌入。 首先,我们需要在WPF应用程序的XAML文件中添加一个WindowsFormsHost控件。然后,通过代码的方式创建一个外部窗口的实例,并将该窗口作为Windows Forms控件添加到WindowsFormsHost控件中。最后,将WindowsFormsHost控件添加到WPF应用程序的布局中,以显示外部窗口。 当外部窗口嵌入到WPF应用程序中后,我们可以通过调用外部窗口的方法或者访问其属性来与之进行交互。这样,我们就可以在WPF应用程序中方便地使用外部应用程序的功能。 总结起来,外部窗口嵌入到WPF应用程序中是一种通过WindowsFormsHost控件实现的方法。通过将外部窗口作为Windows Forms控件添加到WindowsFormsHost控件中,可以在WPF应用程序中显示外部窗口,并与之进行交互。这种技术可以扩展WPF应用程序的功能,提供更丰富的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值