2

我想在按钮处于鼠标按下状态(IsPressed)时调用一个方法,并在释放它时调用另一个方法。我似乎想不出一个简单的方法来做到这一点。

谢谢!

4

4 回答 4

3

如果您处于可以使用绑定的情况,请在按钮的 IsPressed 属性上设置 OneWayToSource 绑定。当源属性更改时,执行您的代码。

无论如何按下按钮,这都应该有效。

于 2008-12-23T16:49:14.540 回答
1

您可以处理 MouseDown 和 MouseUp 事件以获得类似的效果。但这不会处理键盘(空格键)的情况。您必须使用 KeyDown 和 KeyUp 事件来做到这一点。

另请注意,如果用户在按下鼠标后将鼠标移动到不再位于按钮上方的位置,则 MouseDown 事件可能永远不会跟随 MouseUp 事件。(我认为您可以在 MouseDown 中捕获鼠标以保证您获得 MouseUp 事件)

于 2008-12-23T16:44:19.887 回答
0

查看 System.Windows.Input 命名空间中的Mouse类。有可用的MouseDownMouseUp附加事件。

于 2008-12-23T16:46:17.370 回答
0

当然有更好的方法然后尝试拦截鼠标事件。IsPressed 属性上的某种触发器?

此外,我相当确定您无法在按钮上获取某些鼠标事件,因为它正在被系统拦截。

于 2008-12-23T17:09:38.807 回答