English 中文(简体)
wpf: capturing mouse does not work
原标题:

I am developing an kind of outlook calendar application where I need to make the appointment resizable from mouse. My first try with a thumb did not work properly so I tried another way.

What I did is that:

1) on the botton of the appointmennt panel I added a rectangle to figure out the resize zone (the thumb). The appointment panel is put on a grid panel. 2) I intercept down event on the rectangle and send event to this code:

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);
}

where this is the appointment panel that own the thumb.

Decreasing height works well. But increasing is more difficult. If I move the mouse very very slowly it s OK, if I speed it up a little bit it tends to leave out the appointment panel and then all MouseMove event are lost.

I thought Mouse.Capture() was propose to solve this kind of problem, but in fact not.

Does anybody know what is wrong in my code?

问题回答

You should be using an actual Thumb control. Check out MSDN for help:

How to: Use a Thumb to Enable Dragging

you should use a thumb, but to play with mouse capture, override the protected override void OnLostMouseCapture(MouseEventArgs e) method, then you will know if you have lost the capture.





相关问题
WPF convert 2d mouse click into 3d space

I have several geometry meshes in my Viewport3D, these have bounds of (w:1800, h:500, d:25). When a user clicks in the middle of the mesh, I want the Point3D of (900, 500, 25)... How can I achieve ...

Editing a xaml icons or images

Is it possible to edit a xaml icons or images in the expression design or using other tools? Is it possible to import a xaml images (that e.g you have exported) in the expression designer for editing?...

WPF: writing smoke tests using ViewModels

I am considering to write smoke tests for our WPF application. The question that I am faced is: should we use UI automation( or some other technology that creates a UI script), or is it good enough to ...

WPF - MVVM - NHibernate Validation

Im facing a bit of an issue when trying to validate a decimal property on domain object which is bound to a textbox on the view through the viewmodel. I am using NHibernate to decorate my property on ...

How do WPF Markup Extensions raise compile errors?

Certain markup extensions raise compile errors. For example StaticExtension (x:Static) raises a compile error if the referenced class cannot be found. Anyone know the mechanism for this? Is it baked ...

WPF design-time context menu

I am trying to create a custom wpf control, I m wondering how I can add some design-time features. I ve googled and can t seem to get to my goal. So here s my simple question, how can I add an entry ...

How to combine DataTrigger and EventTrigger?

NOTE I have asked the related question (with an accepted answer): How to combine DataTrigger and Trigger? I think I need to combine an EventTrigger and a DataTrigger to achieve what I m after: when ...

热门标签