调用WPF程序时传入参数

来源:互联网 发布:剑三源明雅捏脸数据 编辑:程序博客网 时间:2024/04/29 06:42

在WPF Project中,默认的Startup object的是App。 



先来看一下VS为我们创建的 App.xaml.cs 文件,并有有看到入口函数Main()



那么入口函数在哪呢? 其实系统将WPF的入口函数保护起来了(个人理解),当用户build后, 在obj文件夹下有个App.g.cs文件




打开这个文件后,我们可以看到这里也是App的一个Partial class。 值得注意的是InitializeComponent(), 程序在这里绑定StartupUri。

我们看到 入口函数Main(), 默认状态下是不接受 传入参数的。 有的人说可以直接在这里添加参数String[] args, 是的 直接添加后的确可以

接受参数。 但是当我们rebuild 以后 Obj 文件夹里的文件将被重写,也就是说main() 还是会恢复成原来的样子。


综合考虑决定自己重写入口函数Main(), 改变程序入口点,我们的main() 接受 args


Step1:  添加一个新类并定义Main() 函数(我就直接在App.xaml.cs里定义了)


获取参数结束后,调用App.Main()



Step2: 在Application的property 里修改Startup oject


如果下拉里没有出现我们class, 建议save solution 重启 VS。(个人遇到过几回)

现在来试一下:

1. 直接在Cmd里运行,没有任何出入参数



2. 在Cmd中运行 带参数(将参数显示在路径上)



Ok 完成了 。 本人在项目中遇到,需要在现有的Project里调用 其他WPF程序, 这样就实现了 调用时传入些数据与逻辑控制。 希望对大家有所帮助。

0 0