WPF - wiersz poleceń

Argument wiersza polecenia to mechanizm, w którym użytkownik może przekazać zestaw parametrów lub wartości do aplikacji WPF podczas jej wykonywania. Te argumenty są bardzo ważne, aby kontrolować aplikację z zewnątrz, na przykład, jeśli chcesz otworzyć dokument programu Word z wiersza polecenia, możesz użyć tego polecenia „C:\> start winword word1.docx”I się otworzy word1.docx dokument.

Argumenty wiersza poleceń są obsługiwane w funkcji Startup. Poniżej znajduje się prosty przykład, który pokazuje, jak przekazać argumenty wiersza polecenia do aplikacji WPF. Utwórzmy nową aplikację WPF o nazwieWPFCommandLine.

  • Przeciągnij jedno pole tekstowe z przybornika do okna projektu.

  • W tym przykładzie przekażemy ścieżkę do pliku txt do naszej aplikacji jako parametr wiersza poleceń.

  • Program odczyta plik txt, a następnie zapisze cały tekst w polu tekstowym.

  • Poniższy kod XAML tworzy pole tekstowe i inicjuje je z niektórymi właściwościami.

<Window x:Class = "WPFCommandLine.MainWindow" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   xmlns:local = "clr-namespace:WPFCommandLine" 
   mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "525"> 
	
   <Grid> 
      <TextBox x:Name = "textBox" HorizontalAlignment = "Left"  
         Height = "180" Margin = "100" TextWrapping = "Wrap" 
         VerticalAlignment = "Top" Width = "300"/> 
   </Grid> 
	
</Window>
  • Teraz zasubskrybuj zdarzenie startowe w pliku App.xaml, jak pokazano poniżej.
<Application x:Class = "WPFCommandLine.App" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
   xmlns:local = "clr-namespace:WPFCommandLine" 
   StartupUri = "MainWindow.xaml" Startup = "app_Startup"> 
	
   <Application.Resources> 
          
   </Application.Resources>
	
</Application>
  • Poniżej podano implementację zdarzenia app_Startup w App.xaml.cs, które pobierze argumenty wiersza poleceń.

using System.Windows;
  
namespace WPFCommandLine { 
   /// <summary> 
      /// Interaction logic for App.xaml 
   /// </summary> 
	
   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; 
         } 
      } 
   } 
}
  • Teraz w klasie MainWindow program otworzy plik txt i zapisze cały tekst w polu tekstowym.

  • Jeśli zostanie znaleziony jakiś błąd, program wyświetli komunikat o błędzie w polu tekstowym.

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); 
         } 
      } 
   } 
}
  • Kiedy powyższy kod zostanie skompilowany i wykonany, utworzy puste okno z polem tekstowym, ponieważ ten program potrzebuje argumentu wiersza poleceń. Dlatego program Visual Studio zapewnia łatwy sposób uruchamiania aplikacji z parametrami wiersza polecenia.

  • Kliknij prawym przyciskiem myszy projekt WPF w eksploratorze rozwiązań i wybierz właściwości, wyświetli się następujące okno.

  • Wybierz opcję Debuguj i wpisz ścieżkę do pliku w argumencie wiersza polecenia.

  • Utwórz plik txt za pomocą Test.txt i napisz tekst w tym pliku i zapisz go w dowolnej lokalizacji. W tym przypadku plik txt jest zapisywany na „D:\" twardy dysk.

  • Zapisz zmiany w projekcie, a następnie skompiluj i uruchom swoją aplikację. Zobaczysz tekst w TextBox, który program czyta z pliku Text.txt.

Teraz spróbujmy zmienić nazwę pliku na twoim komputerze z Test.txt do Test1.txt i ponownie uruchom program, zobaczysz ten komunikat o błędzie w polu tekstowym.

Zalecamy wykonanie powyższego kodu i wykonanie wszystkich kroków w celu pomyślnego wykonania aplikacji.