TOC

This article has been localized into Danish by the community.

Paneler:

GridSplitter kontrollen

Som du så i den forrige artikel, gør Grid panelet det meget nemt at dele den tilgængelige plads op i individuelle celler. Ved brug af kolonne- og rækkedefinitioner, kan du nemt beslutte hvor meget plads, hver række eller kolonne skal bruge, men hvad hvis du ønsker at give brugeren lov til at ændre dette? Det er hvor GridSplitter kontrollen kommer i spil.

GridSplitter bruges ved at tilføje den til en kolonne eller række i et Grid, med en passende mængde plads til den - f.eks. 5 pixels. Herefter vil brugeren kunne trække i den fra side til side, eller op og ned, hvorved størrelsen på en række elle kolonne ændres. Her er et eksempel:

<Window x:Class="WpfTutorialSamples.Panels.GridSplitterSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="GridSplitterSample" Height="300" Width="300">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="5" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <TextBlock FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">Left side</TextBlock>
        <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" />
        <TextBlock Grid.Column="2" FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">Right side</TextBlock>
    </Grid>
</Window>

Som du kan se, har jeg oprettet et Grid med to lige brede kolonner med en 5 pixel kolonne i midten. Hver af siderne er blot TextBlock kontroller til illustration. Som du kan se på skærmbillederne, gengives GridSplitter kontrollen som en adskillende linje mellem de to kolonner, og så snart musen er over den, ændres markøren til at vise, at der kan ændres størrelse.

Horisontal GridSplitter

GridSplitter er meget nem at bruge, og den understøtter selvfølgelig også horisontal opsplitning. Faktisk skal du stort set ikke ændre noget for at få den til at virke horisontalt i stedet for vertikalt, som det næste eksempel viser:

<Window x:Class="WpfTutorialSamples.Panels.GridSplitterHorizontalSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="GridSplitterHorizontalSample" Height="300" Width="300">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="5" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <TextBlock FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">Top</TextBlock>
        <GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" />
        <TextBlock Grid.Row="2" FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">Bottom</TextBlock>
    </Grid>
</Window>

Som du kan se, ændrede jeg blot kolonner til rækker, og på GridSplitter kontrollen angav jeg en Height i stedet for en Width. GridSplitter kontrollen finder selv ud f resten, men i tilfælde af, at den ikke gør, kan du bruge ResizeDirection egenskaben til at tvinge den til enten Rows eller Columns tilstand.


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!
Table of Contents