TOC

This article has been localized into Slovak by the community.

Panely:

Ovládací prvok StackPanel

StackPanel je veľmi podobný WrapPanelu, ale s aspoň jedným dôležitým rozdielom: StackPanel nezalamuje obsah. Namiesto toho sa rozťahuje v jednom smere, čo vám umožní hromadiť položku po položke nad sebou. Najskôr sa pokúsime o veľmi jednoduchý príklad, podobne ako s WrapPanelom:

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

Prvá vec, ktorú by ste si mali všimnúť, je, ako sa StackPanel naozaj nestará, či je miesto na obsah dostatočné alebo nie. Nezalamuje obsah žiadnym smerom a neposkytuje vám automaticky možnosť posúvania (môžete použiť ovládací prvok ScrollViewer - viac o tom v neskoršej kapitole).

Možno si tiež všimnete, že predvolená orientácia StackPanelu je vertikálna, na rozdiel od WrapPanelu, kde je predvolená orientácia horizontálna. Rovnako ako u prvku WrapPanel, to možno ľahko zmeniť pomocou vlastnosti Orientation:

<StackPanel Orientation="Horizontal">

Ďalšia vec, ktorú si pravdepodobne všimnete, je, že StackPanel predvolene roztiahne kontrolky. Vo vertikálne zarovnanom StackPanely, ako je to v prvom príklade, všetky ovládacie prvky sa horizontálne roztiahnu. V horizontálne zarovnanom StackPanely sa všetky ovládacie prvky roztiahnu vertikálne. StackPanel to robí tým, že nastaví vlastnosť HorizontalAlignment alebo VerticalAlignment na svoje podriadené ovládacie prvky na Stretch, ale môžete to ľahko prepísať, ak chcete. Pozrite sa na nasledujúci príklad, kde používame rovnakú značku ako v predchádzajúcom príklade, ale tentoraz priradíme hodnoty vlastnosti VerticalAlignment pre všetky podriadené ovládacie prvky:

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

Na umiestňovanie tlačidiel v peknom vzore používame hodnoty Top, Center a Bottom. To isté možno samozrejme urobiť aj pre vertikálne zarovnaný StackPanel, v ktorom by ste použili HorizontalAlignment na podriadené ovládacie prvky:

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

Ako môžete vidieť, ovládacie prvky idú zhora nadol, ale namiesto toho, aby mali rovnakú šírku, každý ovládací prvok je zarovnaný doľava, doprava alebo stred.


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!