如何使用 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中的第二个索引字符串是文件的路径。

感谢大家帮助我。