TOC

This article has been localized into Danish by the community.

Paneler:

StackPanel kontrollen

StackPanel er meget lig WrapPanel, men med mindst en vigtig forskel: StackPanel ombryder ikke indholdet. I stedet strækker det indholdet i en retning, hvilket giver dig mulighed for at stable element efter element oven på hinanden. Lad os først prøve med et simpelt eksempel meget lig det, vi bruge med WrapPanel:

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

Det første, du bemærker er, hvordan StackPanel egentlig ikke bekymrer sim om hvorvidt, der er plads nok til indholdet. Det ombryder ikke indholdet på nogen made, og det giver dig ikke automatisk mulighed for at rule (du kan dog bruge en ScrollViewer kontrol til det - mere om det i et senere kapitel).

Du bemærker måske også, at standardorienteringen af StackPanel er Vertical modsat WrapPanel, hvor standardorienteringen er Horizontal. Men ganske som på WrapPanel, kan dette nemt ændres ved at bruge Orientation egenskaben:

<StackPanel Orientation="Horizontal">

Endnu en ting, du sikkert bemærker, er, at StackPanel strækker sinde underordnede kontroller som standard. På en vertikalt justeret StackPanel som den i første eksempel bliver alle underordnede kontroller strukket horisontalt. På en horisontalt justeret StackPanel bliver alle underordnede kontroller strukket vertikalt som vist ovenfor. StackPanel kontrollen gør dette ved at sætte HorizontalAlignment eller VerticalAlignment egenskaben på dens underordnede kontroller til Stretch, men du kan nemt overstyre dette, hvis du ønsker det. Se på næste eksempel, hvor vi bruger det samme markup som i forrige eksempel, men denne gang tildeler vi vardier til VerticalAlignment egenskaben for alle underordnede kontroller:

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

Vi bruger Top, Center og Bottom værdierne til at placere knapperne i et nydeligt mønster - bare fordi vi kan. Det samme kan selvfølgelig gøres for et vertikalt justeret StackPanel, hvor du ville bruge HorizontalAlignment på de underordnede kontroller:

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

Som du kan se, går kontrollerne stadig fra top til bund, men i stedet for at have samme bredde er hver kontrol justeret til venstre side, højre side eller midten.


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!