用户控件既可以拖动,又可以点击
先说解决掉的问题吧!
一个Image既允许拖动又允许点击!在MouseDown中记录当前鼠标位置,在MouseUp中判断位置是否改变,若改变则是移动,若不改变则是点击。
现在的问题是我们很多东西都做成用户控件了,例如用户控件中有Image,又有Label。这时候如果要在主窗体上实现用户控件的拖放和点击,就得对用户控件以及其中的每个点击事件做出判断(判断是拖动还是点击。)
有没有好的方法解决这个问题?
[解决办法]
WPF有消息路由机制的嘛,你只在主窗口上响应MouseDown,以及MouseMove这两个事件即可以啦。它内部的控件向外就会找到这两个事件的处理方法啊,你在里面处理即可。
[解决办法]
PreviewXXX事件是从下向上传递的,你可以在最底层的控件上处理Preview事件
[解决办法]