TOC

This article has been localized into Turkish by the community.

Paneller:

StackPanel kontrolü

StackPanel WrapPanel'e çok benzer ama bir önemli farkı vardır : StackPanel içeriği kaydırma yapmaz bunun yerine boyutunu bir yönde genişleterek elemanları birbirinin ardı sıra dizmenize imkan verir. Hadi ilk önce WrapPanel'de yaptığımız gibi çok basit bir örnekle başlayalım :

<Window x:Class="WpfTutorialSamples.Panels.StackPanel"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="StackPanel" Height="160" Width="300">
	<StackPanel>
		<Button>Button 1</Button>
		<Button>Button 2</Button>
		<Button>Button 3</Button>
		<Button>Button 4</Button>
		<Button>Button 5</Button>
		<Button>Button 6</Button>
	</StackPanel>
</Window>

İlk dikkatinizi çekecek şey StackPanel'in içerik sığmamasını kaale almamasıdır. Alt kontrolleri başka sıraya kaydırmaz ve size bu sığmamazlıkta otomatik scroll da sunmaz (Bunun için ayrıca ScrollViewer kontrolü eklemeniz gerekir - daha fazla bilgi bu bölümden sonra).

Ayrıca StackPanel'in default yerleşim yönünün WrapPanel gibi yatay değil dikey olduğu da dikkatinizi çekmiştir. Fakat WrapPanel'de olduğu gibi Orientation özelliğini kullanarak bu kolayca değiştirilebilir :

<StackPanel Orientation="Horizontal">

Başka bir şey daha dikkatinizi çekmiştir StackPanel default olarak içerikteki kontrolleri boyutlandırır. Dikey hizalanmış StackPanel , ilk örnekteki gibi , alt kontrollerin genişliklerini eşitler, yatay hizalanmış StackPanel de az önceki örnek gibi alt kontrollerin yüksekliklerini eşitler. StackPanel bunu yapmak için alt kontrollerin HorizontalAlignment ya da VerticalAlignment özelliklerini kullanır, ama isterseniz kolayca bu özelliklerin üstüne yeni değer girebilirsiniz. Sonraki örneğe bir bakın, önceki örnekteki aynı yapıyı kullandık bu sefer tüm alt kontrollerin VerticalAlignment değerlerine bir şeyler girdik :

<Window x:Class="WpfTutorialSamples.Panels.StackPanel"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="StackPanel" Height="160" Width="300">
	<StackPanel Orientation="Horizontal">
		<Button VerticalAlignment="Top">Button 1</Button>
		<Button VerticalAlignment="Center">Button 2</Button>
		<Button VerticalAlignment="Bottom">Button 3</Button>
		<Button VerticalAlignment="Bottom">Button 4</Button>
		<Button VerticalAlignment="Center">Button 5</Button>
		<Button VerticalAlignment="Top">Button 6</Button>
	</StackPanel>
</Window>

Top, Center ve Bottom değerleri ile butonları yerleştirerek böyle V şeklinde yerleştirdik, sadece öğrenmek için. Aynı benzeri tabi ki Dikey hizalanmış StacPanel'de de bu sefer alt kontrollerde HorizontalAlignment özelliği kullanarak yapılabilir :

<Window x:Class="WpfTutorialSamples.Panels.StackPanel"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="StackPanel" Height="160" Width="300">
	<StackPanel Orientation="Vertical">
		<Button HorizontalAlignment="Left">Button 1</Button>
		<Button HorizontalAlignment="Center">Button 2</Button>
		<Button HorizontalAlignment="Right">Button 3</Button>
		<Button HorizontalAlignment="Right">Button 4</Button>
		<Button HorizontalAlignment="Center">Button 5</Button>
		<Button HorizontalAlignment="Left">Button 6</Button>
	</StackPanel>
</Window>

Gördüğünüa üzere kontroller hala yukarıdan aşağıya doğru sıralanıyor, fakat eşit genişlikte olmak yerine her kontrol sol, sağ ya da merkeze yerleştiriliyor.


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!