Je suis impatient de réaliser une fonctionnalité glisser-défiler dans mon application et avoir des problèmes sur mon chemin. Quelqu'un peut-il m'aider? J'ai un ScrollViewer et à l'intérieur un ItemsControl et dans ItemsTemplate j'ai un UserControl. Je veux faire glisser ce UserControl dans ItemsControl. Je veux que ScrollViewer défile vers le bas, lorsque je suis en train de glisser vers les limites de ItemsControl.WPF Drag-to-Scroll ne fonctionne pas correctement
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);
}
Quand je commence à glisser en appelant DragDrop.DoDragDrop()
le défilement se font pas. Mais quand je désactive le glissement, le ScrollViewer défile en fonction de la position de la souris. Peut-être y at-il quelque chose que je ne prends pas en compte pour faire glisser et capturer la souris? Merci de votre attention. Garegin