2017-07-04 5 views
1

Ich habe dieses XAML:in WPF strechable Raum hinzufügen

<Window x:Class="WpfApp1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:WpfApp1" 
    mc:Ignorable="d" 
    Title="MainWindow" Height="400" Width="400" > 

    <StackPanel Margin="10, 10, 10, 10"> 

     <CheckBox Content="CheckBox" Margin="0, 0, 0, 10"/> 
     <Button Content="Button" Height="30" Click="OnClick"/> 

    </StackPanel> 

</Window> 

, die diese Ausgabe gibt:

enter image description here

Wie kann ich einen dehnbaren Abstand zwischen dem Kombinationsfeld und die Schaltfläche hinzufügen zu halten eine auf der Oberseite und die andere auf der Unterseite?

Danke, Massimo

Antwort

1

Verwenden Sie ein DockPanel (die LastChildFill in diesem Fall wichtig ist):

<DockPanel Margin="10, 10, 10, 10" LastChildFill="False"> 
    <CheckBox DockPanel.Dock="Top" Content="CheckBox" Margin="0, 0, 0, 10"/> 
    <Button DockPanel.Dock="Bottom" Content="Button" Height="30" Click="OnClick"/> 
</DockPanel> 
0

keine StackPanel für dieses Verwenden weil ein StackPanel nur den Raum füllen, die durch Kinder benötigt wird. Ein Grid ist dafür besser.

So etwas würde es tun.

<Grid Margin="10, 10, 10, 10"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 
    <CheckBox Content="CheckBox" 
       Grid.Row="0" 
       Margin="0, 0, 0, 10" /> 
    <Button Content="Button" 
      Height="30" 
      Grid.Row="2" 
      Click="OnClick" /> 
</Grid> 

Sample

Verwandte Themen