TOC

This article has been localized into Turkish by the community.

Paneller:

DockPanel Kontrolü

DockPanel içeriğindeki kontrolleri dört yönden birine dayayarak yerleştirmenizi mümkün kılar (top , bottom , left , right - üst , alt , sol , sağ). Bazı durumlar için, özellikle pencereyi belirli ayrılmış bölümlere bölmek istediğinizde bu çok doğru bir seçim olacaktır. Çünkü bu özelliği elle değiştirilmediği müddetçe DockPanel yerleşimindeki son kontrol alanın geri kalan tamamına yayılacaktır (merkezleyerek).

WPF'te diğer birçok panelde gördüğümüz gibi panel olasılıklarını kullanmak için bağlı özellikleri kullanıyorduk. Bu durumda ise DockPanel.Dock özelliği içerdeki kontrollerin nereye hizalanacağını belirler. Eğer bu özelliği kullanmazsanız kontroller sola hizalanarak dizilir ve sonuncu geri kalan boşluğu doldurur. İşte size nasıl kullanacağınızı gösteren bir örnek :

<Window x:Class="WpfTutorialSamples.Panels.DockPanel"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="DockPanel" Height="250" Width="250">
	<DockPanel>
		<Button DockPanel.Dock="Left">Left</Button>
		<Button DockPanel.Dock="Top">Top</Button>
		<Button DockPanel.Dock="Right">Right</Button>
		<Button DockPanel.Dock="Bottom">Bottom</Button>
		<Button>Center</Button>
	</DockPanel>
</Window>

Daha önce dediğimiz gibi son alt kontrole pozisyon belirtmedik, çünkü o otomatikman ortada kalan tüm boşluğa yayılacak. Ayrıca diğer kontrollere bakarsanız sadece ihtiyaçları kadar kalınlıkta kenarlara dayanıyorlar - geri kalan tüm alan ortada boşluk olarak kalıyor. Bu aynı zamanda neden sağdaki buton soldakinden daha geniş sorusunun cevabı - harf sayısı daha fazla olduğu için daha çok yer ihytiyacı var.

Son bir dikkat çeken nokta alanın nasıl kullanıldığı. Örneğin üstteki buton tüm genişliğe yayılmamış çünkü soldaki buton onun yerini işgal ediyor. DockPanel bu durumlarda kararı kod yazımındaki sıraya göre verir. Soldaki buton kod yazımında daha önce geldiği için alanı önce o işgal etti. Tabi ki bu aynı zamnada sıralama ile görünümü sıradaki örnekteki gib kolayca değiştirebileceğimiz anlamına geliyor. Ayrıca örnekte alt kontrollerin boyutlarına da biraz manual müdahale ettik :

<Window x:Class="WpfTutorialSamples.Panels.DockPanel"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="DockPanel" Height="250" Width="250">
	<DockPanel>
		<Button DockPanel.Dock="Top" Height="50">Top</Button>
		<Button DockPanel.Dock="Bottom" Height="50">Bottom</Button>
		<Button DockPanel.Dock="Left" Width="50">Left</Button>
		<Button DockPanel.Dock="Right" Width="50">Right</Button>	
		<Button>Center</Button>
	</DockPanel>
</Window>

Altta ve üstteki kontroller şimdi soldaki ve sağdakinden önce alanı işgal ettiler, ve tüm kontroller 50 piksel kalınlıkta. Pencereyi büyütüp küçültürseniz bu sabit kalınlıkların değişmediğini ancak ortada kalan alanın pencere ile beraber boyut değiştirdiğini göreceksiniz.

LastChildFill özelliği

Önceden dediğimiz gibi DockPanel'in son alt kontrolü geri kalan tüm boşluğu işgal eder, fakat bu LastChildFill özelliği kullanılarak engellenebilir. Aşağıda hem bu engellemeyi yaptığımız hem de birden fazla kontrolü aynı kenara hizaladığımız bir örnek var :

<Window x:Class="WpfTutorialSamples.Panels.DockPanel"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="DockPanel" Height="300" Width="300">
	<DockPanel LastChildFill="False">
		<Button DockPanel.Dock="Top" Height="50">Top</Button>
		<Button DockPanel.Dock="Bottom" Height="50">Bottom</Button>
		<Button DockPanel.Dock="Left" Width="50">Left</Button>
		<Button DockPanel.Dock="Left" Width="50">Left</Button>
		<Button DockPanel.Dock="Right" Width="50">Right</Button>
		<Button DockPanel.Dock="Right" Width="50">Right</Button>
	</DockPanel>
</Window>

Bu örnekte iki kontrol sağa , iki kontrol de sola hizaladık, bu bize ortada bir boşluk bıraktı ki bu bazı durumlarda tercih edilebilir.


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!