Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按下/未按下WPF按钮时发生火灾事件_Wpf_Button - Fatal编程技术网

按下/未按下WPF按钮时发生火灾事件

按下/未按下WPF按钮时发生火灾事件,wpf,button,Wpf,Button,我需要在按下WPF按钮时触发一些事件(通过鼠标、键盘、触摸屏等),并在未按下WPF按钮时触发事件 如何做到这一点?这应该很容易,但我找不到如何做到这一点。您可以从Button派生并重写该方法,并在那里触发自定义事件 或者您可以绑定到属性。另一个选项是使用DependencyPropertyDescriptor: var descriptor = DependencyPropertyDescriptor.FromProperty(Button.IsPressedProperty, typeof(B

我需要在按下WPF按钮时触发一些事件(通过鼠标、键盘、触摸屏等),并在未按下WPF按钮时触发事件


如何做到这一点?这应该很容易,但我找不到如何做到这一点。

您可以从Button派生并重写该方法,并在那里触发自定义事件


或者您可以绑定到属性。

另一个选项是使用DependencyPropertyDescriptor:

var descriptor = DependencyPropertyDescriptor.FromProperty(Button.IsPressedProperty, typeof(Button));
descriptor.AddValueChanged(this.button, new EventHandler(IsPressedChanged));

如果您使用的是MVVM,那么可以使用事件触发器来解决问题。这样,您仍然可以将UI需求与应用程序逻辑分离


我尝试了这种方法,但您失去了命令的Canexecute功能。