Ich bin verpflichtet, eine Drag-to-Scroll-Funktionalität in meiner Anwendung zu realisieren und habe Probleme auf dem Weg. Kann mir jemand helfen? Ich habe einen ScrollViewer und darin ein ItemsControl und in ItemsTemplate habe ich ein UserControl. Ich möchte dieses UserControl in ItemsControl ziehen. Ich möchte, dass der ScrollViewer nach unten scrollt, wenn ich an die Grenzen von ItemsControl ziehe.WPF Drag-to-Scroll funktioniert nicht richtig
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);
}
Wenn ich durch den Aufruf DragDrop.DoDragDrop()
Scrollen starten Ziehen Sie geschieht nicht. Aber wenn ich das Ziehen deaktiviere, scrollt der ScrollViewer abhängig von der Mausposition nach unten. Vielleicht gibt es etwas, was ich nicht über das Ziehen und Erfassen der Maus verstehe? Danke für die Aufmerksamkeit. Garegin