This article has been localized into Turkish by the community.
Pencere
Bir WPF uygulaması geliştirirken ilk karşılaşacağınız şey Window nesnesidir (class). Bu bir pencerenin kökü olarak işlev görür ve standart kenarlık, başlık çubuğu ve büyült, küçült ve kapat düğmelerini sunar. Bir WPF penceresi <Window> elemanının kök olarak yer aldığı XAML (.xaml) dosyasının, arka plan kodunu içeren bir (.cs) dosyası ile birleşimidir. Eğer Visual Studio (Express) sürümünü kullanıyorsanız ve yeni bir WPF uygulaması oluşturdu iseniz sizin için varsayılan bir pencere oluşturacaktır, o da aşağıdaki gibi gözükecektir:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
</Grid>
</Window>
x:class niteliği, XAML dosyasına hangi sınıfı kullanacağını söyler: yani Visual Studio'nun bizim için yarattığı Window1'i. Bunu VS'deki proje ağacında, XAML dosyasının bir alt düğümü olarak bulacaksınız. Varsayılan olarak, şuna benzer bir şey görünür:
using System;
using System.Windows;
using System.Windows.Controls;
//…more using statements
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
}
}
Gördüğünüz gibi, Window1 sınıfı partial olarak tanımlandı, çünkü tam pencereyi vermek için runtime anında XAML dosyanız ile birleştiriliyor. Aslında bu, InitializeComponent() çağrısının yaptığı şeydir, yani tam işlevli bir pencerenin açılıp çalışması için gereken şey.
XAML dosyasına geri dönersek, Window öğesinde birkaç ilginç nitelik daha göreceksiniz. Örneğin Title, pencerenin başlığını (başlık çubuğunda gösterilmiştir), başlangıç genişliğini ve yüksekliğini tanımlar. Ayrıca XAML bölümlerinde konuşacağımız birkaç namespace tanımı da bulunmaktadır.
Ayrıca Visual Studio'nun Window içinde bir Grid kontrolü oluşturduğunu fark edeceksiniz. Grid, WPF panellerinden biridir. Herhangi bir panel veya kontrol olabilmesine karşın Window yalnızca bir alt kontrole sahip olabilir, fakat bir Panelin içinde birden çok alt kontrol bulunabilir ve genellikle bu doğru bir kullanımdır. Öğreticinin devamında, WPF'de çok önemli olan farklı panel türlerine daha yakından bakacağız.
Önemli Window nitelikleri
WPF Window sınıfı, uygulama pencerenizin görünümünü ve davranışını kontrol etmek için ayarlayabileceğiniz ilginç özelliklere sahiptir. İşte sık kullanılan niteliklerin kısa bir listesi:
Icon - Pencere ikonunu tanımlamanızı sağlar. Genellikle sol üst köşede, pencere başlığının solunda gösterilir.
ResizeMode - Kullanıcının pencerenizi yeniden boyutlandırıp boyutlandıramayacağını denetler. Varsayılan olan CanResize, büyüt/küçült butonlarını kullanarak veya pencere kenarlarından birini sürükleyerek kullanıcının pencereyi diğer pencereler gibi boyutlandırmasını sağlar. CanMinimize, kullanıcının pencereyi küçültmesine izin verir ancak maksimize etmek veya büyütmek veya küçültmek için değil. NoResize, büyütme ve küçültme düğmelerinin kaldırıldığı ve pencerenin sürüklenerek büyütülüp küçültülemediği kararlı bir niteliktir.
ShowInTaskbar - Varsayılan değeri true'dur, fakat false olarak ayarlarsanız pencereniz Windows görev çubuğunda gösterilmez. Birincil olmayan pencereler veya simge tepsisine indirilmesi gereken uygulamalar için kullanışlıdır.
SizeToContent - Window'un içeriğinin sığması için otomatik olarak boyutlandırılma gerekliliğini belirler. Varsayılan değer Manual'dir, yani pencere otomatik olarak boyutlandırılmaz. Diğer seçenekler Width, Height ve WidthAndHeight, pencere boyutunu otomatik olarak yatay, dikey veya her ikisini birlikte ayarlayacaktır.
Topmost - Varsayılan değeri false, ancak true olarak ayarlanırsa, Window simge durumuna küçültülmedikçe diğer pencerelerin üstünde kalır. Yalnızca özel durumlar için kullanışlıdır.
WindowStartupLocation - Pencerenizin başlangıç konumunu kontrol eder. Varsayılan değer olan Manual, pencerenin başlangıçta Top ve Left niteliklerine göre konumlandırılacağı anlamına gelir. Diğer seçeneklerden biri CenterOwner: pencereyi kendi penceresinin ortasına yerleştirir, CenterScreen ise pencereyi ekranın ortasına yerleştirir.
WindowState - İlk pencere durumunu kontrol eder. Normal, Maximized veya Minimized değerlerini alabilir. Varsayılan değer Normal: pencerenizin maksimize veya minimize olarak başlamasını istemediğiniz sürece kullanmanız gereken şey budur.
Başka birçok özellik bulunuyor, bu yüzden daha fazlasını arayın ve ardından bir sonraki bölüme geçin.