TOC

This article has been localized into Slovak by the community.

Aplikácia WPF:

Parametre príkazového riadku vo WPF

Parametre príkazového riadku sú technikou, pri ktorej môžete preniesť sadu parametrov do aplikácie, ktorú chcete spustiť, aby ste ju nejako ovplyvnili. Najčastejším príkladom je sprístupnenie aplikácie konkrétnemu súboru, napr. v editore. Môžete to vyskúšať sami pomocou zabudovanej aplikácie Poznámkový blok systému Windows spustením (vyberte položku Spustiť z ponuky Štart alebo stlačte [WindowsKey-R]):

notepad.exe c:\Windows\win.ini

Týmto otvoríte program Poznámkový blok s otvoreným súborom win.ini (pravdepodobne budete musieť upraviť cestu tak, aby zodpovedala vášmu systému). Notepad jednoducho hľadá jeden alebo niekoľko parametrov a potom ich použije a vaša aplikácia môže robiť to isté!

Parametre príkazového riadku sú odovzdané do vašej aplikácie WPF prostredníctvom udalosti Startup, ktorú sme si zaregistrovali v súbore App.xaml. V tomto príklade urobíme to isté a potom použijeme hodnotu prenesenú cez argumenty metódy. Najprv súbor App.xaml:

<Application x:Class="WpfTutorialSamples.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
			 Startup="Application_Startup">
    <Application.Resources></Application.Resources>
</Application>

Všetko, čo robíme, je prihlásiť sa k udalosti Startup a nahradiť vlastnosť StartupUri. Udalosť sa potom implementuje v aplikácii App.xaml.cs:

using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

		private void Application_Startup(object sender, StartupEventArgs e)
		{
			MainWindow wnd = new MainWindow();
			if(e.Args.Length == 1)
				MessageBox.Show("Now opening file: \n\n" + e.Args[0]);
			wnd.Show();
		}
	}
}

StartupEventArgs sme odovzdali do udalosti Application Startup s názvom e. Má vlastnosť Args, čo je pole reťazcov. Parametre príkazového riadka sú oddelené medzerami a sú v úvodzovkách.

Testovanie parametra príkazového riadka

Ak spustíte uvedený príklad, nič sa nestane, pretože neboli zadané žiadne parametre príkazového riadku. Našťastie Visual Studio uľahčuje testovanie tejto skutočnosti vo vašej aplikácii. V ponuke Projekt vyberte "Project name properties"a potom prejdite na kartu Debug, kde môžete definovať parameter príkazového riadka. Mal by vyzerať takto:

Skúste spustiť aplikáciu a uvidíte, že reaguje na váš parameter.

Samozrejme že táto správa nie je veľmi užitočná. Namiesto toho to môžete buď preniesť na konštruktor hlavného okna, alebo zavolať verejnú metódu, napríklad:

using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

		private void Application_Startup(object sender, StartupEventArgs e)
		{
			MainWindow wnd = new MainWindow();
			// The OpenFile() method is just an example of what you could do with the
			// parameter. The method should be declared on your MainWindow class, where
			// you could use a range of methods to process the passed file path
			if(e.Args.Length == 1)
				wnd.OpenFile(e.Args[0]);
			wnd.Show();
		}
	}
}

Možnosti príkazového riadku

V tomto príklade testujeme, či existuje len jeden argument a ak áno, použijeme ho ako názov súboru. V príklade reálneho sveta môžete zhromaždiť niekoľko argumentov a dokonca ich použiť pri možnostiach, napr. zapnutie alebo vypnutie určitej funkcie. Urobili by ste to tým, že prejdete celým zoznamom argumentov, ktoré ste dostali pri zhromažďovaní informácií, ktoré musíte vykonať, ale to je mimo rozsahu tohto článku.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!