2011-09-06 13 views
6

にスクロールイベントを追加:ユーザーコントロールの一環として、次のように私は定義されたデータグリッドを持っているのDataGrid

<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の上に水平にドラッグしたときにイベントを追加したいです私が持っているチャート。誰かがこれを始める方向で私を指摘できますか?ありがとう。

+0

の背後に、あなたは '水平にドラッグ' とはどういう意味ですか?水平にスクロールすることを意味しますか? –

答えて

16

あなたの質問が正しく理解されている場合は、ユーザーが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.. 
    } 
} 
3

「横にドラッグする」とは、「横にスクロールする」という場合は、ScrollViewer.ScrollChangedイベントを使用できます。 ScrollChangedEventArgsには、HorizontalOffsetおよびHorizontalChangeなどのプロパティが含まれています。

関連する問題