• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WPFのDatagridの縦スクロール)

WPFのDatagridの縦スクロール

このQ&Aのポイント
  • WPFのDatagridの縦スクロールを制御する方法を教えてください。
  • Windows FormアプリケーションでElementHostを使用してWPFで構築したDataGridを表示していますが、縦スクロールを制御したいです。
  • WPFのDatagridの縦スクロールを制御するための方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • dell_OK
  • ベストアンサー率13% (776/5747)
回答No.1

WPF側にスクロール用のメソッドを用意しておき、 WindowsForm側からそのメソッドを呼ぶ方法で実現できそうです。 まず、以下の参照がない場合は追加してください。 ・UIAutomationProvider ・UIAutomationTypes 次に、スクロール用のメソッドとその準備です。 準備は、LoadedのタイミングでAutomationPeerとIScrollProviderの設定です。 Grid_MainのDataGridにNameがなかったので、ここでは「grid1」としています。 メソッドは、上スクロールと下スクロールです。 ・Grid_Main.xaml.vb Imports System.Windows Imports System.Windows.Automation.Peers Imports System.Windows.Automation.Provider Public Class Grid_Main Private ap As AutomationPeer Private sp As IScrollProvider Private Sub MeLoaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded ap = UIElementAutomationPeer.CreatePeerForElement(grid1) sp = CType(ap.GetPattern(PatternInterface.Scroll), IScrollProvider) End Sub Public Sub ScrollUp() sp.Scroll(Automation.ScrollAmount.NoAmount, Automation.ScrollAmount.SmallDecrement) End Sub Public Sub ScrollDown() sp.Scroll(Automation.ScrollAmount.NoAmount, Automation.ScrollAmount.SmallIncrement) End Sub End Class 最後に、WindowsFormのボタンから、スクロール用のメソッドを呼びます。 ここでは、WindowsFormに配置されたユーザーコントロールGrid_Mainの名前を「grid1」としています。 grid1.ScrollUp() とか grid1.ScrollDown() とかです。

19820202
質問者

お礼

希望する動作が実現できました。 本当にありがとうございました。

関連するQ&A