2012-01-16 13 views
0

は私がウィンドウに収まらない非常に大きなデータグリッドを持っている:DataGrid - 両方のスクロールバーを常に表示させるにはどうすればいいですか?

<DataGrid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="17" AutoGenerateColumns="True" Name="dataGrid1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding DataList}" IsReadOnly="True" SelectedItem="{Binding SelectedStrategy, Mode=TwoWay}" AutoGeneratingColumn="DG_AutoGeneratingColumn"> 
     <i:Interaction.Triggers> 
      <i:EventTrigger EventName="MouseDoubleClick"> 
       <i:InvokeCommandAction Command="{Binding OpenStrategyViewCommand}" /> 
      </i:EventTrigger> 
     </i:Interaction.Triggers> 
    </DataGrid> 

問題がある:

  • 垂直スクロールは
  • 水平スクロールは、データグリッドの一番下にある存在しません。ウィンドウの下部には表示されません。

垂直スクロールがないため、DataGridを下部wheにスクロールすることはできません水平スクロールが再開されます。 (垂直方向と水平方向)の両方の次元のデータグリッドで

は窓

よりも大きくなっている私は、DataGridで2つのスクロールバーを持つようにしたいが、彼らは常に表示されるはずです。どうやってするか?

答えて

2

水平スクロールがないので、 DataGridをスクロールすることはできません。

サイジングを正しく設定していないようですが、WPF DataGridではそれほど大きくはありませんので、残念なことに何が問題なのか正確には言えません。常にスクロールバーを表示するための

、次の2つの属性を使用します。あなたはあなたのデータグリッド上Horizo​​ntal-とVerticalScrollBarVisibilityで両方のスクロールバーの可視性を設定することができますが、私は多分あなたは内部のグリッドを置くべきだと思い

<DataGrid 
HorizontalScrollBarVisibility="Visible" 
VerticalScrollBarVisibility="Visible" > 
+1

今、スクロールバーは表示されますが、スクロールすることはできません。つまり、線が画面に収まらなくても「グレーアウト」されます。 – javapowered

+0

スクロールビューアを追加することをお勧めします.ShadeOfGreyの答えをご覧ください。がんばろう! –

0

あなたのDataGridの周りScrollViewerを追加します。 Horizo​​ntalScrollBarVisibility = "Visible" VerticalScrollBarVisibility = "Visible"は、スクロールバーの表示を制御します。

<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible"> 
    <DataGrid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="17" AutoGenerateColumns="True" Name="dataGrid1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding DataList}" IsReadOnly="True" SelectedItem="{Binding SelectedStrategy, Mode=TwoWay}" AutoGeneratingColumn="DG_AutoGeneratingColumn"> 
     <i:Interaction.Triggers> 
      <i:EventTrigger EventName="MouseDoubleClick"> 
       <i:InvokeCommandAction Command="{Binding OpenStrategyViewCommand}" /> 
      </i:EventTrigger> 
     </i:Interaction.Triggers> 
    </DataGrid> 
</ScrollViewer> 
+0

水平スクロールバーが表示されますが、動作しません(データグリッドが画面に収まらない場合でも常にグレー表示されます) – javapowered

+0

グリッドの列と行の定義を質問に追加できますか?私もそれらを見てみたいと思います。 – ShadeOfGrey

関連する問題