2016-04-24 21 views
1

私はGridSplitterを持っていますが、私はそれが私のアプリケーション(私のUserControlを正確に)の完全な高さを伸ばすことはできません。 GridSplitterの左右の内容と同じ高さしか塗りません。なぜ私のGridSplitterは完全な高さを取らない

<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch"> 
<Grid.RowDefinitions> 
     <RowDefinition Height="*" /> <!--this was a trial and error thing--> 
</Grid.RowDefinitions> 
    <Grid Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="2*" MinWidth="150" /> 
      <ColumnDefinition Width="2" /> 
      <ColumnDefinition Width="8*" MinWidth="250" /> 
     </Grid.ColumnDefinitions> 

     <TextBlock Text="left" Grid.Column="0"/> 
     <GridSplitter Grid.Column="1" HorizontalAlignment="Stretch" /> 
     <TextBlock Text="right" Grid.Column="2"/> 
    </Grid> 
</Grid> 
</Grid> 

私は高さを知らないので、私はこれは、高さが大きいことで動作しますが、私はのサイズがわからないとして、それが許容できるアプローチではありません

を期待していましたクライアントは監視します。

しかし、これは無効です。

何をする必要がありますか?あなたは背景がオレンジ色で見ることができるように

これは

<StackPanel Grid.Row="1" Background="Orange"> 
    <ContentPresenter Content="{Binding Vm}" /> 
</StackPanel> 

親である、これは私のコントロールの範囲を提供します。コントロールはそれができるすべての部屋を占有します。

+0

このグリッドの親コントロールによって問題が発生している可能性があります。グリッドコントロールは、その親に対してサイズを調整します。内に含まれるユーザーコントロールは何ですか? –

答えて

1

StackPanel親をGridコントロールに変更してください。 StackPanelコントロールは子要素のサイズになります。代わりにGridコントロールを使用してください。コントロールは親コントロールのサイズになります。

<Grid Grid.Row="1" Background="Orange"> 
    <ContentPresenter Content="{Binding Vm}" /> 
</Grid> 
+0

実際、私は単にStackPanelを削除し、Grid.RowをContentPresenterに追加することができました。ありがとう – MyDaftQuestions

関連する問題