2016-10-25 2 views
0

私は、次の単純なWPFコードを使用して、列にグリッドスプリッター付きの2行3列グリッドを作成することを想定しています。しかし、グリッド内の行を分割しない限り、グリッドスプリッタは表示され、正常に動作します。グリッド行を隠している他の要素

以下

はサンプルコードです:

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="100" /> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="100" /> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="30" /> 
     <RowDefinition Height="Auto"/> 
    </Grid.RowDefinitions> 
    <GridSplitter Grid.Column="1" 
        Grid.RowSpan="2" 
      HorizontalAlignment="Left" 
      VerticalAlignment="Stretch" 
      Background="LightGray" 
      ShowsPreview="true" 
      Width="3" /> 
    <GridSplitter Grid.Column="2" 
        Grid.RowSpan="2" 
      HorizontalAlignment="Left" 
      VerticalAlignment="Stretch" 
      Background="LightGray" 
      ShowsPreview="true" 
      Width="3"/> 
    <!--Button x:Name="button" Grid.Row="1" Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Height="27" Grid.Column="1" Margin="19,42,0,0" /--> 
</Grid> 

私はそれは私が持っている2行上にグリッドスプリッタスパンになるだろうということGrid.RowSpan = 2思考を与えました。しかし、私はこのコードを実行すると、私はこれを取得しています。

enter image description here 2番目の行はグリッドスプリッターをオーバーラップしており、表示されません。青い線はアウトラインを表します。私はちょうど垂直グリッドスプリッターがウィンドウ全体にまたがるようにしたい。私はここで間違って何をしていますか?私は底にグリッドスプリッターを宣言しました。

答えて

1

サンプルの複数の行で唯一問題となるのは、グリッドの高さを完全に取らないということです。

第1行は、30の高さを持ち、第2の高さはコンテンツ(Auto)に依存します。内容がなければ0になります。スクリーンショットの青い線は実際の概要を表示しません。レイアウトを修正するには2行目の高さを入力します。Height="*"

<Grid.RowDefinitions> 
    <RowDefinition Height="30" /> 
    <RowDefinition Height="*"/> 
</Grid.RowDefinitions> 
+0

ありがとうございます。今、私はなぜボタンのコメントを外した後、スプリッターがボタンがどこにあるか表示されていた –

関連する問題