📜  WPF-命令行

📅  最后修改于: 2020-11-18 09:53:56             🧑  作者: Mango


命令行参数是一种机制,用户可以在执行时将一组参数或值传递给WPF应用程序。这些参数对于从外部控制应用程序非常重要,例如,如果要从命令提示符打开Word文档,则可以使用此命令“ C:\> start winword word1.docx ”,它将打开word1。 .docx文件。

命令行参数在启动函数中处理。以下是一个简单的示例,该示例显示了如何将命令行参数传递给WPF应用程序。让我们创建一个名为WPFCommandLine的新WPF应用程序。

  • 将一个文本框从工具箱拖到设计窗口。

  • 在此示例中,我们将txt文件路径作为命令行参数传递到我们的应用程序。

  • 该程序将读取txt文件,然后将所有文本写在文本框中。

  • 以下XAML代码创建一个文本框,并使用一些属性对其进行初始化。

 
    
    
       
    
    

  • 现在,在App.xaml文件中订阅Startup事件,如下所示。
 
    
    
          
   
    
 
  • 下面给出的是App.xaml.cs中app_Startup事件的实现,该事件将获取命令行参数。

using System.Windows;
  
namespace WPFCommandLine { 
   ///  
      /// Interaction logic for App.xaml 
   ///  
    
   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; 
         } 
      } 
   } 
} 
  • 现在,在MainWindow类中,程序将打开txt文件,并将所有文本写在文本框中。

  • 如果发现错误,则程序将在文本框中显示错误消息。

using System; 
using System.IO; 
using System.Windows;  

namespace WPFCommandLine { 

   public partial class MainWindow : Window { 
    
      public MainWindow() { 
         InitializeComponent(); 
         String[] args = App.Args;
            
         try {
            // Open the text file using a stream reader. 
            using (StreamReader sr = new StreamReader(args[0])) { 
               // Read the stream to a string, and write  
               // the string to the text box 
               String line = sr.ReadToEnd(); 
               textBox.AppendText(line.ToString()); 
               textBox.AppendText("\n"); 
            } 
         } 
         catch (Exception e) { 
            textBox.AppendText("The file could not be read:"); 
            textBox.AppendText("\n"); 
            textBox.AppendText(e.Message); 
         } 
      } 
   } 
}
  • 当上面的代码被编译和执行时,它将产生一个带有文本框的空白窗口,因为该程序需要命令行参数。因此,Visual Studio提供了一种使用命令行参数执行应用程序的简便方法。

  • 在解决方案资源管理器中右键单击WPF项目,然后选择属性,它将显示以下窗口。

WPF命令行

  • 选择调试选项,然后在命令行参数中写入文件路径。

  • 使用Test.txt创建一个txt文件,并在该文件中写入一些文本,然后将其保存在任何位置。在这种情况下,txt文件将保存在“ D:\ ”硬盘驱动器上。

  • 将更改保存在项目中,然后编译并执行您的应用程序。您将在TextBox中看到该程序从Text.txt文件读取的文本。

命令行输出

现在,让我们尝试将计算机上的文件名从Test.txt更改为Test1.txt ,然后再次执行程序,然后您将在文本框中看到该错误消息。

命令行错误输出

我们建议您执行上述代码,并按照所有步骤成功执行您的应用程序。