2012-01-10 10 views
2

データグリッドにデータをロードしようとしていますが、サイズの悪夢があります。私のデータグリッドは、必要なだけ多くのスペースを取るようです。私はそれが現在のサイズにロードし、必要に応じてスクロールバーを表示したい。DataGridサイジングの問題

サイジングがどのように機能するか説明してもらえますか?

例:私はこれが起こるの背後にあるコードで新しいタブ項目のデータグリッドを作成し、タブコントロール内

<Grid Name="MainUI" Height="Auto" Width="Auto"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"></RowDefinition> 
     <RowDefinition Height="Auto"></RowDefinition> 
</Grid.RowDefinitions> 

<Grid Name="MainGrid" Grid.Row="1" VerticalAlignment="Top" Height="Auto" Width="Auto"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"></RowDefinition> 
      <RowDefinition Height="Auto"></RowDefinition> 
     </Grid.RowDefinitions> 

    <TabControl TabStripPlacement="Bottom" Name="Main_Tab" VerticalAlignment="Top" Visibility="Visible" /> 
</Grid> 

</Grid> 

は、データグリッドは、できるだけ多くの部屋を取ります。

itemTabのデータグリッドには、読み込み時にサイジングがありません。 AutoHeight/Width設定

おかげ

+0

どのようにグリッドのサイズを設定していますか?あなたはいくつかのコードを入れてください – jcvegan

+0

申し訳ありません、上記のセグメントを追加しました。 – user101010101

+3

まだデータグリッドへの参照が表示されません。それを生成するコードを表示することはできますか? –

答えて

3

は、それが必要としてコントロールが同じくらいのスペースを取るべきであることを意味します。これは、コントロールがUIで利用可能なスペースよりも多くのスペースを必要とする場合、親コントロールを引き伸ばし、必要なスペースを取ることができることを意味します。

StretchHorizontalAlignmentVerticalAlignmentを設定してみてください、それはまだあなたにトラブルを与えている場合は、問題に

を修正するためにHeight="Auto"Width="Auto"を削除します。これにより、コントロールが利用可能なすべてのスペースを占めるようにコントロールが拡大または縮小されますが、追加のスペースを取るためにコンテナが拡張されることはありません。

関連する問題