2014-10-22 2 views
0

나는 2 개의 행이있는 이름과 버튼, 다른 하나는 출력을위한 그리드가 있습니다.wpf 그리드 및 스택 패널 채우기

첫 번째 행이 전체 너비를 늘리고 단추가 오른쪽에 정렬되기를 원합니다.

stackpanel이 너비를 채울 것이라고 생각하면서 내가 무엇을 놓치고 있는지 궁금해하고 있습니다.

<Window x:Class="Sample.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 

     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 

     <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="0" > 
      <TextBox Name="NameTextBox" MinWidth="150" HorizontalAlignment="Stretch"/> 
      <Button Margin="10,0" Name="AlertButton" Content="Say Hello" HorizontalAlignment="Stretch" /> 
     </StackPanel> 

     <TextBox Name="OutpuTextBox" MinLines="5" Grid.Row="1" Grid.Column="0"/> 
    </Grid> 
</Window> 
+0

에 걸쳐하는 TextBox을 바닥 설정할 수'StackPanel'는 폭을 채울 것입니다, 그러나 그들의 자녀들은하지 않습니다. 또 다른'Grid'를 중첩 시키거나 더 많은 셀들로 첫 번째'Grid'를 확장해야합니다 (아마도 몇몇 요소들에 대해'RowSpan' /'ColumnSpan'을 사용할 것입니다). – Sinatr

답변

0

가로 StackPanel은 하위의 수평 정렬을 무시합니다. 당신은이 개 컬럼에 레이아웃을 변경하고 첫 번째 행의 두 번째 열에서 Button을 넣고 2 열

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="Auto"/> 
    </Grid.ColumnDefinitions> 
    <TextBox Name="NameTextBox" MinWidth="150" HorizontalAlignment="Stretch"/> 
    <Button Margin="10,0" Name="AlertButton" Content="Say Hello" HorizontalAlignment="Stretch" Grid.Column="1" /> 
    <TextBox Name="OutpuTextBox" MinLines="5" Grid.Row="1" Grid.ColumnSpan="2"/> 
</Grid> 
+1

팁 주셔서 감사. 정확히 내가 무엇을 찾고 있었는지. –