2016-09-28 5 views
0

グリッド上にマウスカーソルを合わせてマウスホイールを動かすと、この単一列のDataGridをスクロールさせようとしています。WPF DatagridのColumnHeaderより下のスクロール

<Grid Height ="500" ..... 
<!-- ListCollectionView for sorting --> 
<DataGrid Name="dgTable" Style ="{DynamicResource DataGridStyle1}" 
Grid.Row ="1" Grid.Column ="0" 
VerticalContentAlignment="Stretch" 
ItemsSource="{Binding ItemsLcv}" 
IsSynchronizedWithCurrentItem="True" 
SelectionMode="Single" 
AutoGenerateColumns="False" 
CanUserAddRows="False" 
CanUserSortColumns="True" 
HorizontalAlignment="Center" 
Width="215" Height="500"> 

<DataGrid.Columns> 
<DataGridTextColumn Header="Description" SortMemberPath="descr" 
IsReadOnly="True" 
CanUserSort="True" 
Binding="{Binding Path=descr, Mode=TwoWay, UpdateSourceTrigger=  PropertyChanged}" 
Width ="215"/> 
</DataGrid.Columns> 

これは、DataGridのスタイルです。

<Style x:Key="DataGridStyle1" TargetType="DataGrid"> 
<Setter Property="RowHeaderWidth" Value="0" /> 
    <Setter Property = "ScrollViewer.VerticalScrollBarVisibility" Value="Hidden" /> 
    <Setter Property = "ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" /> 
</Style> 

これはColumnHeaderのためのスタイルです:私は、ScrollViewerのタグ内にデータグリッドを配置する場合

<Style TargetType="{x:Type DataGridColumnHeader}"> 
<Setter Property="VerticalContentAlignment" Value="Center" /> 
<Setter Property="Height" Value="35" /> 
<Setter Property="SeparatorBrush" Value="#79858b" /> 
<Setter Property="FontWeight" Value="Black" /> 
<Setter Property="Background" Value ="{DynamicResource Brush1}"/> 
<Setter Property="BorderBrush" Value="#FF60727B"/> 
<Setter Property="BorderThickness" Value="2,0,2,2"></Setter> 
</Style> 

、スクロールが働いたが、ColumnHeaderのはdisapppeared。並べ替えのためにColumnheaderを保持する必要があります。
凍った行についての投稿を確認しました。Frozen rows in WPF DataGrid?私は、ScrollViewerコンポーネントで多くのコントロールテンプレートを使用するより簡単な解決策があることを期待していました。前もって感謝します。

+0

DataGridには独自のスクロール機能があり、好みの方法で動作します。 ScrollViewerを取り除き、DataGridの 'VerticalAlignment =" Stretch "を設定します。 'VerticalContentAlignment'ではなく、別のプロパティです。 –

+0

それはそれをしました。ありがとうございました! – harpagornis

答えて

0

DataGridには、独自のスクロール機能があります。

ScrollViewerを取り除き、DataGridのVerticalAlignment="Stretch"を設定してください。 VerticalContentAlignmentではなく、別のプロパティです。

XAMLレイアウトは、すべてが似ていますが、すべてが似ています。

関連する問題