2012-09-01 4 views
6

저는이 예제 코드를 많이 읽었으며 마지막에 이것을 묻기로했습니다. 고정 된 위치의 단추와 그 안의 다른 격자가있는 격자가 있습니다. 외부 격자에는 너비/높이 세트가 없습니다. 디스플레이 해상도에 따라 변경해야합니다. I 같이 창의 W/H를 설정 : 나 3 개 행이 내부 격자 안에서사용 가능한 공간을 채우기 위해 중간 행의 격자를 얻으십시오.

Width = 200; 
Height = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height - 5; 

상부 하나는 버튼 (높이 자동)이고, 가운데 하나는 그 높이가 변할 수있다 (그리고있는리스트 뷰는 사용 가능한 공간을 채우기 위해) 그리고 마지막 행은 창 하단에 항상 남아 있어야하는 텍스트 상자로 구성됩니다.

<Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Click="Button_Click" Width="32" Height="32" FontSize="16" VerticalAlignment="Center" 
      HorizontalAlignment="Left" FontWeight="Bold" ToolTip="Click here to hide the Sidebar">&gt;</Button> 
<Grid VerticalAlignment="Top" Background="Transparent" Grid.Row="1"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto" /> 
      <!-- This is the settings bar--> 
      <RowDefinition Height="*" /> 
      <!-- This will contain the listbox--> 
      <RowDefinition Height="Auto" /> 
      <!-- This is to maintain vertical arrangement and future use--> 
     </Grid.RowDefinitions> 

     <Button Content="hello" Grid.Row="0" /> 
     <ListView x:Name="lstView" Background="Transparent" Grid.Row="1"/> 
     <TextBox TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Height="50" Margin="2" BorderBrush="Black" Grid.Row="2" />` 

하지만 난 그냥 캔트 중간 행이 전체 공간과 화면의 하단에 정렬 된 텍스트 상자를 채울 수 : 그에 대한 XAML은 다음과 같습니다. 누구든지 전체 나머지 높이를 채우기 위해 아래쪽과 중간 행에 정렬 된 텍스트 상자를 얻는 방법을 제안 할 수 있으며 디스플레이 모드를 변경하는 동안 명시 적으로 높이를 설정하지 않고 어떻게 수행 할 수 있습니까?

+1

'RowDefinition'을 사용하면 실제로 두 번째 행이이 'Grid' *의 나머지 모든 공간을 차지하게됩니다. 이제 부모를보고 부모가이 'Grid'가 전체 창을 채우도록해야합니다. 나는 당신의'Grid'에'Grid.Row'를 보았습니다, 그래서 부모는 아마도 또 다른'Grid' 일 것입니다; 그것의'RowDefinition'은 어떻게 생겼습니까? –

+0

나는 그리드에 그리드 정의를 추가하지 않았으므로, 그냥 윈도우의 중앙에 고정 버튼을 추가하는데 사용한다 .... 다른 용도는 없다 ... – Dannyboy

답변

0

Grid에 배포 할 수없는 사용 가능한 공간을 모두 사용하지 않으면 의 VerticalAlignmentStetch으로 설정해야합니다.

+0

헤이 .... 나는 그것을 시도했지만 그랬다. 작동하지 않는 UI가 변경되지 않았습니다. – Dannyboy

관련 문제