私のアプリケーションでドラッグ・ツー・スクロール機能を実現している途中で問題があります。誰か助けてくれますか? 私はScrollViewerを持っていて、その中にItemsControlがあり、ItemsTemplateにはUserControlがあります。 ItemsControl内でそのUserControlをドラッグしたいと思います。 ItemsControlの境界にドラッグしているときに、ScrollViewerを下にスクロールします。WPFドラッグ・ツー・スクロールが正しく動作しない
protected override void OnPreviewMouseMove(System.Windows.Input.MouseEventArgs e)
{
if (this.IsMouseCaptured)
{
// Get the new mouse position.
Point mouseDragCurrentPoint = e.GetPosition(this);
if (Math.Abs(mouseDragCurrentPoint.Y - this.ActualHeight) <= 50)
{
this._scrollStartOffset.Y += 5;
_containingScrollViewer.ScrollToVerticalOffset(this._scrollStartOffset.Y);
}
if (mouseDragCurrentPoint.Y <= 50)
{
this._scrollStartOffset.Y -= 5;
_containingScrollViewer.ScrollToVerticalOffset(this._scrollStartOffset.Y);
}
}
base.OnPreviewMouseMove(e);
}
私はDragDrop.DoDragDrop()
スクロール起こりませんを呼び出すことにより、ドラッグを開始。しかし、私がドラッグを無効にすると、ScrollViewerはマウスの位置に依存してスクロールダウンします。 マウスをドラッグしてキャプチャすることに慣れていないことがありますか? ご注意いただきありがとうございます。 Garegin