TOC

This article is currently in the process of being translated into Turkish (~47% done).

Bir WPF Uygulaması:

App.xaml ile Çalışma

App.xaml uygulamanızın oluşturulduğunu bildiren başlangıç noktasıdır. Visual Studio, yeni bir WPF uygulamasını başlattığınızda App.xaml.cs adlı Code-behind dosyası ile beraber App.xaml dosyasını sizin için otomatik olarak oluşturacaktır. İki dosya da partial sınıfındandır, aynı anda biçimlendirme(XAML) ve Code-behind ile çalışmanızı sağlamak için beraber çalışırlar.

App.xaml.cs, bir WPF Windows uygulamasının merkezi sınıfından olan Application sınıfından extend edilir. .NET, talimatları başlatmak için bu sınıfa gidecektir ve ardından istediğiniz Window veya Page'i oradan başlatacaktır. Aynı zamanda burada uygulamanın başlatılması, işlenmemiş exceptionlar vb. önemli olaylar kontrol edilir. Bunları daha sonra inceleyeceğiz.

App.xaml dosyasının en yaygın kullanılan özelliklerinden biri, örneğin genel stiller gibi bir uygulamanın her tarafından kullanılabilecek ve erişilebilecek global kaynakları tanımlamaktır. Bu daha sonra detaylı olarak tartışılacaktır.

App.xaml yapısı

Yeni bir uygulama oluştururken, otomatik olarak oluşturulan App.xaml şunun gibi görünecektir:

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

    </Application.Resources>
</Application>

Burada anlatılmak istenen ana düşünce StartupUri özelliği. Bu özellikte uygulama başlatıldığında görüntülenecek olan sayfa veya pencere seçilir. Burada ise MainWindow.xaml görüntülenecek. Eğer başlangıçta başka bir pencere görüntülemek isterseniz buradan değiştirebilirsiniz.

In some situations, you want more control over how and when the first window is displayed. In that case, you can remove the StartupUri property and value and then do it all from Code-Behind instead. This will be demonstrated below.

App.xaml.cs structure

Yeni bir proje için App.xaml.cs genellikle bu şekilde gözükür:

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

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

	}
}

You will see how this class extends the Application class, allowing us to do stuff on the application level. For instance, you can subscribe to the Startup event, where you can manually create your starting window.

İşte bir örnek:

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

Notice how the StartupUri has been replaced with a subscription to the Startup event (subscribing to events through XAML is explained in another chapter). In Code-Behind, you can use the event like this:

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

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

		private void Application_Startup(object sender, StartupEventArgs e)
		{
			// Create the startup window
			MainWindow wnd = new MainWindow();
			// Do stuff here, e.g. to the window
			wnd.Title = "Something else";
			// Show the window
			wnd.Show();
		}
	}
}

The cool thing in this example, compared to just using the StartupUri property, is that we get to manipulate the startup window before showing it. In this, we change the title of it, which is not terribly useful, but you could also subscribe to events or perhaps show a splash screen. When you have all the control, there are many possibilities. We will look deeper into several of them in the next articles of this tutorial.

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!