向DataGrid添加滚动事件

Cry*_*tal 6 c# wpf datagrid

我有一个DataGrid定义如下作为UserControl的一部分:

<DataGrid x:Name="dtGrid"  AutoGenerateColumns="False" 
            VirtualizingStackPanel.IsVirtualizing="True"                                       
            VirtualizingStackPanel.VirtualizationMode ="Standard"
              EnableColumnVirtualization="True"
              EnableRowVirtualization="True"
            ScrollViewer.IsDeferredScrollingEnabled="True"
            CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserSortColumns="True"
             ItemsSource ="{Binding}" Block.TextAlignment="Center"
             AlternatingRowBackground="#F1F1F1" RowBackground="White"
              CanUserAddRows="False" CanUserDeleteRows="False" FrozenColumnCount="1"
               GridLinesVisibility="None" >
    </DataGrid>
Run Code Online (Sandbox Code Playgroud)

我想在用户水平拖动DataGrid时添加一个事件,它会更新我拥有的另一个图表.有人能指出我的方向来开始这个吗?谢谢.

Fre*_*lad 16

如果我正确理解了您的问题,您想知道用户何时滚动DataGrid水平.这可以通过附加事件来完成ScrollViewer.ScrollChanged.

XAML

<DataGrid x:Name="dtGrid"
          ScrollViewer.ScrollChanged="dtGrid_ScrollChanged"
          ... />
Run Code Online (Sandbox Code Playgroud)

代码背后

private void dtGrid_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
    if (e.HorizontalChange != 0)
    {
        // Do stuff..
    }
}
Run Code Online (Sandbox Code Playgroud)