TOC

This article has been localized into Ukrainian by the community.

Додаток WPF:

Параметри командного рядка у WPF

Параметри командного рядка - це техніка, при якій ви можете передавати набір параметрів програмі, яку ви хочете запустити, щоб якось вплинути на неї. Найпоширеніший приклад - зробити програму відкритою за допомогою певного файлу, наприклад в редакторі. Ви можете спробувати це самостійно за допомогою вбудованої програми Блокнот Windows, запустивши (виберіть Запустити в меню Пуск або натисніть [WindowsKey-R]):

notepad.exe c:\Windows\win.ini

Після цього запуститься Блокнот із відкритим файлом win.ini (можливо, доведеться налаштувати шлях відповідно до вашої системи). Блокнот просто шукає один або кілька параметрів, а потім використовує їх, і ваша програма може зробити те саме!

Параметри командного рядка передаються у вашу програму WPF через подію запуску, на яку ми підписалися в статті App.xaml. Ми зробимо те ж саме в цьому прикладі, а потім використаємо значення, передане через аргументи методу. По-перше, файл 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>

Все, що ми тут робимо, - це підписатися на подію Startup , замінивши властивість StartupUri . Потім подія реалізується в 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 . Він передається у подію запуску програми з назвою e. Він має властивість Args , що є масивом рядків. Параметри командного рядка розділяються пробілами, за винятком випадків, коли пробіл знаходиться всередині рядка з лапками.

Тестування параметра командного рядка

Якщо запустити наведений вище приклад, нічого не трапиться, оскільки параметри командного рядка не вказані. На щастя, Visual Studio дозволяє легко перевірити це у вашому додатку. У меню Проект (Project) виберіть "Властивості [Назва проекту]" ("[Назва проекту] properties"), а потім перейдіть на вкладку Налагодження (Debug), де Ви можете визначити параметр командного рядка . Це повинно виглядати приблизно так:

Спробуйте запустити програму, і ви побачите, як вона реагує на ваш параметр.

Звичайно, повідомлення не дуже корисне. Натомість вам може знадобитися або передати його конструктору вашого головного вікна, або викликати на ньому публічний метод, наприклад:

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();
		}
	}
}

Можливості командного рядка

У цьому прикладі ми перевіряємо, чи є точно один аргумент, і якщо так, ми використовуємо його як ім'я файлу. На прикладі в реальному світі ви можете зібрати кілька аргументів і навіть використовувати їх для опцій, наприклад увімкнення або вимкнення певної функції. Ви могли б це зробити, переглянувши весь список аргументів, переданих під час збору інформації, необхідної для продовження, але це виходить за рамки цієї статті.


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!