2016-06-18 6 views
4

作業ゲット私はGridSplitterオブジェクトで混乱しています:私の第2の水平グリッドスプリッタが正しく

Vertical Splitter

は、上記垂直スプリッタがあります

<GridSplitter 
    Width="5" 
    Background="LightGray" 
    Grid.Row="1" 
    Grid.RowSpan="4" 
    Grid.Column="0" /> 

それが正しく動作し、列のサイズを変更します。

しかし、私は水平グリッドスプリッターを追加しようとしていた。

<GridSplitter 
    Width="5" 
    Background="Black" 
    VerticalAlignment="Stretch" 
    ResizeDirection="Rows" 
    Grid.Row="2" 
    Grid.Column="0" /> 

をしかし、黒い線を参照してください?それは間違った場所にあります。これは、2つのGroupBox項目間、水平次のようになります。

How it should be

私のマークアップロジックの何が問題になっているのですか?興味深いことに、VerticalAlignmentTopまたはCenterに設定すると、スプリッターは表示されず、動作することはありません。

ありがとうございます。

更新:

Resized

以上のサイズが変更されたコントロール(あなたの答えに感謝)。しかし、(この文脈では)グループボックスだけがサイズを変更する必要があります。グループボックスの内容は一番上にとどまります。

アップデート:RowDefinitionの高さの値を1*からautoに変更しました。

+0

'VerticalContentAlignment =「トップ」'プロパティはグループボックスの上に存在するかのGroupBox – Nkosi

+0

のルートの子要素の 'VerticalAlignmentを= Top'を設定する場合、私は今のためにそれを残して設定してみてください。別の日に新しい質問をしてください。ありがとう。 –

+0

@ Nkosi私はその問題を解決しました。私の 'RowDefinition'の高さはすべて' 1 * 'に設定されていました。私はそれらを 'auto'に変更しました。 –

答えて

2

水平グリッドスプリッタでは、高さと水平方向の配置を設定する必要があります。

<GridSplitter 
    Height="5" 
    Background="Black" 
    VerticalAlignment="Center" 
    HorizontalAlignment="Stretch" 
    ResizeDirection="Rows" 
    Grid.Row="2" 
    Grid.Column="0" /> 
+0

ああ、ありがとう! –

+1

喜んで助けてください。ハッピーコーディング!!! – Nkosi

+1

ここにあなたが見ることができる例があります。 https://msdn.microsoft.com/en-us/library/system.windows.controls.gridsplitter(v=vs.110).aspx#Anchor_8 – Nkosi

関連する問題