向DataGrid添加滚动事件
本文关键字:事件 滚动 添加 DataGrid | 更新日期: 2023-09-27 18:08:01
我有一个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>
我想添加一个事件,当用户在DataGrid上水平拖动时,它会更新我的另一个图表。有人能告诉我怎么开始吗?谢谢。
如果我正确理解了你的问题,你想知道用户何时水平滚动DataGrid
。这可以通过附带的事件ScrollViewer.ScrollChanged
来完成。
Xaml
<DataGrid x:Name="dtGrid"
ScrollViewer.ScrollChanged="dtGrid_ScrollChanged"
... />
背后代码private void dtGrid_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
if (e.HorizontalChange != 0)
{
// Do stuff..
}
}
如果"水平拖动"的意思是"水平滚动",那么你可以使用ScrollViewer.ScrollChanged
事件。ScrollChangedEventArgs
包含HorizontalOffset
、HorizontalChange
等属性