WPF

2017-07-04 8 views
1

にstrechableスペースを追加し、私はこのXAMLを持っている:WPF

この出力を与える
<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> 

私は維持するために、コンボボックスとボタンの間に伸縮スペースを追加することができますどのように

enter image description here

1つは上部に、もう1つは下部にありますか? StackPanelのみ、それは子供が必要とするスペースを埋めるため

おかげで、 マッシモ

答えて

1

使用DockPanel(LastChildFillが、この場合に重要です):

<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

は、このためにStackPanelを使用しないでください。 Gridがこれに適しています。

このようなことが起こります。

<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