【WPF】ScrollViewerに内包したDataGridのタッチスクロールについて
実現したいこと
ScrollViewerにDatagridを内包し、タッチスクロールを行いたい。
開発環境
WPF(.NetFramework)
Frameworkバージョン:4.8
C#バージョン8.0
困っていること
下記XAMLのように、ScrollViwer内にDatagridを内包した形で、ScrollViwer内のDatagrid以外のエリアのタッチ操作でスクロールはできるが、Datagrid上のタッチ操作でScrollViewerがスクロールしない。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ScrollViewer Grid.RowSpan="5" Grid.ColumnSpan="5" PanningMode="Both">
<DataGrid Name="grdTest" Margin="10,10,100,10">
<DataGrid.Columns>
<DataGridTextColumn>
<DataGridTextColumn.Header>
<TextBlock Text="test"></TextBlock>
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</Grid>
試したこと
マウスホイールによるスクロールについては、下記記事を参考にDatagridの「PreviewMouseWheel」イベントを補足し、ScrollViwerにイベントを透過させることでスクロールを実現できましたが、タッチスクロールについては、それらしいイベント「PreviewStylusMove、PreviewTouchMove、PreviewMouseMove、PreviewMouseMove」等で同じように透過させてもうまくいきません。
https://qiita.com/tor4kichi/items/38ef73d98e9d65ca7ac9
質問
Manipulation系イベントも探ってみましたが、Manipulation系イベントにはPreview~が存在しません。そもそも私の基本的な考え方に問題があるかもしれません。
本質問内容について、解決方法ありましたら、教えていただけると助かります。
0 likes