ScrollViewerでRequestBringIntoViewイベントを処理するコンポーネントを見つける方法はありますか?
2つのScrollBarパーツには表示されません(直接ではありません)。任意のポインタのための
おかげで...SL 4:ScrollViewer - RequestBringIntoView
UPDATE:関連:私はScrollViewerののScrollContentPresenterの一部を取得することはできますか?どうやって?
おかげ -
大きな画像:
私たちは、ScrollViewerの中に含まれている大きなキャンバスを持っています。実行時に、任意の数のUserControl(「Blobs」と呼びます)がdbからキャンバスに追加されます。彼らの位置と内容はDBから来ます。ユーザは、それをクリックすることによってブロブを「選択」することができ、その外観が選択されたことを示すように変化する。
ユーザーがスクロールバーを使用して選択したBLOBをビューから移動し、別のBLOBをクリックすると、Canvasがスクロールされ、以前に表示されなかったBLOBが再び表示されるようになります。これは、RequestBringIntoViewを呼び出すオブジェクトが原因で、ScrollViewerがそのオブジェクトを処理していると仮定しています。これは理にかなって
希望は...
しかし、より多くの情報:
は、ScrollViewerのスクロールバーのValueChangedイベントにハンドラ(sb_ValueChanged)を追加しました。 !!
OurControl.sb_ValueChanged()System.Windows.dll System.Windows.Controls.Primitives.RangeBase.OnValueChanged()System.Windows.dllシステム:ここではスクロールを沈殿させるマウスクリックからのスタックです。 Windows.Controls.Primitives.ScrollBar.OnValueChanged()System.Windows.Controls.Primitives.RangeBase.OnValuePropertyChanged() System.Windows.dll!System.Windows.DependencyObject.RaisePropertyChangeNotifications()
システム。 Windows.dll!System.Windows.DependencyObject.UpdateEffectiveValue() System.Windows.dll!System.Windows.DependencyObject.SetValueInternal() System.Windows.DependencyObject.SetValue()System.Windows.Controls.ScrollContentPresenter(System.Windows.Controls.ScrollContentPresenter) .ArrangeOverride() System.Windows.dll!System.Windows.FrameworkElement.ArrangeOverride()
私はいたずらを開始FrameworkElementで実際に...
感謝を。残念ながら、scrollviewerは予期せずスクロールしていますので、どのオブジェクトがトリガーしているのかを調べるためにRequestBringIntoViewイベントを処理します。 – Number8
Ohh ...あなたはすでにRequestBringIntoViewの働きをしていますか? – NestorArturo
私たちはRequestBringIntoViewについて明示的に何もしていません。私たちが見ている、解決しようとしている問題の物語については、更新されたOPを参照してください。返信をありがとう。 – Number8