我有一个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>@H_301_4@我想在用户水平拖动DataGrid时添加一个事件,它会更新我拥有的另一个图表.有人能指出我的方向来开始这个吗?谢谢.
解决方法
如果我正确理解您的问题,您想知道用户何时水平滚动DataGrid.这可以通过附加的事件ScrollViewer.ScrollChanged来完成.
@H_301_4@XAML
<DataGrid x:Name="dtGrid" ScrollViewer.ScrollChanged="dtGrid_ScrollChanged" ... />@H_301_4@代码背后
private void dtGrid_ScrollChanged(object sender,ScrollChangedEventArgs e) { if (e.HorizontalChange != 0) { // Do stuff.. } }