除了在Mouse/Key Up/Down事件处理程序中设置多个标志之外,是否有一种简单的方法可以告诉触发Button的Click事件?我目前只对区分鼠标和其他东西感兴趣,但如果可能的话,处理Stylus和其他输入类型将会很好。我是否必须创建自己的按钮控件才能实现此目的?如何判断按钮点击事件是由WPF中的键盘还是鼠标触发的?
编辑:为了说明我为什么在意:在这种特殊情况下,我试图为某种图片浏览器实现“下一个”和“上一个”按钮。有问题的照片可能大小不同,按钮的位置也会改变(所以它们总是居中在照片下方)。如果您需要滚动浏览多张图片,使用鼠标按下这些按钮非常烦人,所以我希望鼠标位置相对于点击按钮保持不变,但只有在鼠标点击而不是键盘时。
编辑2:无论按钮位于顶部还是底部,都无关紧要,因为中心可以随时更改。 “图片浏览器”在这里只是一个抽象概念,在这个特殊情况下,图片的左上角保留了它的位置对我来说很重要,但是在详细讨论中超出了问题的范围。缩放图片在这类应用程序中并不是那么微不足道,所以我确实想知道我要求不要进入UI实现讨论的问题的答案。
我的回答没有给你足够的信息,或者我错过了什么吗? – Micah 2008-12-07 23:30:04
您的回答正是我没有要求的 - 分别处理鼠标/键上下事件处理程序。是的,这是一种做法,但并不像我希望的那样优雅。 – 2008-12-08 05:32:51