如何使用 WPF 应用程序通过在 windows 中单击文件来打开文件?
How can I open a file via click it in windows with a WPF app?
我做了一个WPF程序,就像windows里的记事本一样。
现在我修改了扩展名.txt的文件关联到我的程序。
点击一个txt文件后,问题来了:我的WPF程序如何获取文件的路径? (我需要获取打开文件的路径。)
我认为这是一份轻松的工作。不过好像Google里面没有这方面的教程(可能是我漏了关键字)
你能帮帮我吗?谢谢。
基本上,您打开的关联文件将作为 Main
函数的参数传递。
对于 WPF,它略有不同,因为您通常没有直接的 Main
方法。你的程序的入口点应该是你的 <Application>
class.
在这种情况下,程序的参数将传递给 Application
中的 Startup
事件 class:
XAML:
<Application ....
Startup="app_Startup">
<!-- .... --->
</Application>
代码隐藏:
public partial class App: Application {
public static string[] Args;
void app_Startup(object sender, StartupEventArgs e) {
// If no command line arguments were provided, don't process them if (e.Args.Length == 0) return;
if (e.Args.Length > 0) {
Args = e.Args;
}
}
}
(示例改编自:https://www.c-sharpcorner.com/article/wpf-command-line/)
感谢@Fildor 在 https://sa.ndeep.me/post/how-to-create-smart-wpf-command-line-arguments/
中的教程
其他教程也适用,而这个更简单:
public MainWindow()
{
string[] args = Environment.GetCommandLineArgs();
foreach (string i in args)
{
MessageBox.Show(i);
}
}
args
中的第一个索引字符串是您程序的路径。
args
中的第二个索引字符串是文件的路径。
感谢大家帮助我。
我做了一个WPF程序,就像windows里的记事本一样。
现在我修改了扩展名.txt的文件关联到我的程序。
点击一个txt文件后,问题来了:我的WPF程序如何获取文件的路径? (我需要获取打开文件的路径。)
我认为这是一份轻松的工作。不过好像Google里面没有这方面的教程(可能是我漏了关键字)
你能帮帮我吗?谢谢。
基本上,您打开的关联文件将作为 Main
函数的参数传递。
对于 WPF,它略有不同,因为您通常没有直接的 Main
方法。你的程序的入口点应该是你的 <Application>
class.
在这种情况下,程序的参数将传递给 Application
中的 Startup
事件 class:
XAML:
<Application ....
Startup="app_Startup">
<!-- .... --->
</Application>
代码隐藏:
public partial class App: Application {
public static string[] Args;
void app_Startup(object sender, StartupEventArgs e) {
// If no command line arguments were provided, don't process them if (e.Args.Length == 0) return;
if (e.Args.Length > 0) {
Args = e.Args;
}
}
}
(示例改编自:https://www.c-sharpcorner.com/article/wpf-command-line/)
感谢@Fildor 在 https://sa.ndeep.me/post/how-to-create-smart-wpf-command-line-arguments/
中的教程其他教程也适用,而这个更简单:
public MainWindow()
{
string[] args = Environment.GetCommandLineArgs();
foreach (string i in args)
{
MessageBox.Show(i);
}
}
args
中的第一个索引字符串是您程序的路径。
args
中的第二个索引字符串是文件的路径。
感谢大家帮助我。