TOC

This article has been localized into Turkish by the community.

Bir WPF Uygulaması:

WPF'de Komut Satırı Parametreleri

"Komut Satırı Parametreleri" bir uygulamayı başlatırken verdiğimiz parametreler sayesinde o uygulamanın davranışlarını değiştirmemizi sağlayan bir tekniktir. En sık görülen örnek, bir uygulamayı istediğimiz bir dosyayla açmaktır (ör: Metin düzenleyicisi). Bunu Windows'un içinde gelen "Not Defteri" uygulamasıyla siz de deneyebilirsiniz. Başlat > Çalıştır butonu veya [Windows Tuşu + R] tuş kombinasyonuylar Çalıştır'ı başlatın.

notepad.exe C:\Windows\win.ini

Bu eylem "Not Defteri" uygulamasını win.ini dosyasıyla birlikte açacaktır (yolu kendi sisteminize göre değiştirmeniz gerekebilir). Not Defteri bir ya da daha fazla parametreyi kontrol ediyor ve daha sonra bunları kullanıyor. Bunu sizin uygulamanız da yapabilir!

Komut satırı parametreleri, WPF uygulamasına App.xaml(dosya adı) yazısında kayıt olduğumuz Startup(başlangıç) olayı ile ulaştırılıyor. Biz örnekte de aynısını yapacağız ve sonra metod argümanları ile ulaştırılan değerleri kullanacağız. İlk olarak, App.xaml dosyası:

<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>

Burada tek yaptığımız, StartupUri olayını Startup olayı ile değiştirerek kayıt olmak. Olay daha sonra App.xaml.cs dosyasında gerçekleştiriliyor.

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

Burada StartupEventArgs kullanıyoruz. Uygulamamızın Startup olayını e değişkeninde barındırıyor. Args adında ve string array tipinde bir özelliğe sahip. Komut satırı parametreleri boşlukla ayrılarak yazılır, boşluk içeren parametreler tırnaklar içinde verilir.

Komut satırı parametrelerini test edelim

Eğer yukarıdaki örneği çalıştırırsanız hiç bir şey olmaz , çünkü komut satırı parametrelerinin ne olacağı belirtilmedi. Şükür ki Visual Studio bunu uygulamanızda denemeniz için kolaylık sağlıyor. Project (Proje) menüsünden "[Proje adı] properties" (özellikleri) seçin ve Debug (Hata Ayıkla) sekmesine gidin. Orada komut satırı parametrelerini girebilirsiniz. Şuna benzer bir görünüm olur:

Değer girdikten sonra uygulamayı çalıştırın ve parametrenize verdiği cevabı görün.

Tabi ki sadece mesaj vermek kullanışlı değil. Bu değeri ana pencerenizin koduna göndermek ya da open metoduyla dosyanızı şöyle açmak isteyebilirsiniz.

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

Komut satırı olasılıkları

Bu örnekte sadece bir tane argüman olmasını test ettik ve eğer öyleyse o argümanı dosya adı olarak kullandık. Gerçek dünya uygulamalarında bir çok argüman toplayabilir, onları örneğin bazı özellikleri aktif ya da pasif etmek için opsiyon olarak kullanabilirsiniz. Bunu yapmak için gönderilen tüm argüman listesini bir döngü ile işleyip değerlendirmeniz gerekir, ama bu iş makalemizin kapsamı dışında kalıyor.


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!