2012-09-01 1 views
6

私はこれのための多くのサンプルコードを通過しており、最終的にこれを尋ねることに決めました:私は固定された位置とそれの中に別のグリッドを持つグリッドを持っています。外側グリッドには幅/高さが設​​定されていません。表示解像度に応じて変更する必要があります。私のようにウィンドウの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' *内の残りのスペースをすべて2番目の行が占めるようにします。今度は、親を見て、親がこの 'Grid'をウィンドウ全体に埋めるようにしなければなりません。あなたの 'Grid'に' Grid.Row'があるので、親はおそらく別の 'Grid'です。そのRowDefinitionの外観はどうですか? –

+0

グリッド上にグリッドの定義が追加されていないので、固定したボタンをウィンドウの中央に追加するだけです。他の用途はありません... – Dannyboy

答えて

0

Gridに利用可能なすべての領域を割り当てないように指示しない場合は、のVerticalAlignmentStetchに設定する必要があります。

+0

うまくいかない、UIに変化はなかった... – Dannyboy

関連する問題