wpf:捕获鼠标不起作用

wpf:捕获鼠标不起作用,wpf,mouse,capture,Wpf,Mouse,Capture,我正在开发一种outlook日历应用程序,需要通过鼠标调整约会的大小。 我用拇指的第一次尝试没有正常工作,所以我尝试了另一种方法 我所做的是: 1) 在appointmennt面板的底部,我添加了一个矩形以确定大小调整区域(拇指)。约会面板放置在网格面板上。 2) 我截获矩形上的向下事件并将事件发送到以下代码: private Point startPoint; private void OnResizeElementMouseDown(object sender, MouseButtonEve

我正在开发一种outlook日历应用程序,需要通过鼠标调整约会的大小。 我用拇指的第一次尝试没有正常工作,所以我尝试了另一种方法

我所做的是:

1) 在appointmennt面板的底部,我添加了一个矩形以确定大小调整区域(拇指)。约会面板放置在网格面板上。 2) 我截获矩形上的向下事件并将事件发送到以下代码:

private Point startPoint;
private void OnResizeElementMouseDown(object sender, MouseButtonEventArgs e)
{
    e.Handled = true;
    this.MouseMove += new MouseEventHandler(ResizeEndElement_MouseMove);
    this.MouseLeftButtonUp += new MouseButtonEventHandler(OnResizeElementMouseUp);
    // some code to perform new height computation
    Mouse.Capture(this);
}
这里是拥有拇指的约会面板

降低高度效果很好。 但增加收入更为困难。如果我非常非常缓慢地移动鼠标,就可以了,如果我稍微加快一点,它会忽略约会面板,然后所有的MouseMove事件都会丢失

我原以为Mouse.Capture()是为了解决这类问题而提出的,但事实并非如此


有人知道我的代码出了什么问题吗?

您应该使用实际的
拇指
控件。查看MSDN以获取帮助:


您应该使用拇指,但要玩鼠标捕获,请覆盖
受保护的override void OnLostMouseCapture(MouseEventArgs e)
方法,然后您就会知道是否丢失了捕获