wpf 事件转命令的方式

1,方式1

csharp 复制代码
<StackPanel Background="Transparent">
  <StackPanel.InputBindings>

    <KeyBinding Command="{Binding ChangeColorCommand}"
                CommandParameter="{Binding ElementName=colorPicker, Path=SelectedItem}"
                Key="{Binding ChangeColorCommand.GestureKey}"
                Modifiers="{Binding ChangeColorCommand.GestureModifier}"/>

    <MouseBinding Command="{Binding ChangeColorCommand}"
                  CommandParameter="{Binding ElementName=colorPicker, Path=SelectedItem}"
                  MouseAction="{Binding ChangeColorCommand.MouseGesture}"/>

  </StackPanel.InputBindings>

</StackPanel>

MouseAction 并不是一个直接用于绑定事件的属性或枚举。然而,WPF 提供了多种与鼠标事件相关的属性和方法,允许开发者在UI元素上绑定各种鼠标事件。以下是一些常见的可以绑定到WPF控件的鼠标事件:

MouseLeftButtonDown:当鼠标左键按下时触发。

MouseLeftButtonUp:当鼠标左键释放时触发。

MouseRightButtonDown:当鼠标右键按下时触发。

MouseRightButtonUp:当鼠标右键释放时触发。

MouseMiddleButtonDown:当鼠标中键(通常是滚轮按下)按下时触发。

MouseMiddleButtonUp:当鼠标中键释放时触发。

MouseDown:当鼠标任意按钮按下时触发。

MouseUp:当鼠标任意按钮释放时触发。

MouseMove:当鼠标在元素上移动时触发。

MouseEnter:当鼠标指针进入元素边界时触发。

MouseLeave:当鼠标指针离开元素边界时触发。

MouseWheel:当鼠标滚轮滚动时触发。

相关推荐
武藤一雄18 小时前
WPF中ViewModel之间的5种通讯方式
开发语言·前端·microsoft·c#·wpf
CSharp精选营1 天前
都是微软亲儿子,WPF凭啥干不掉WinForm?这3个场景说明白了
c#·wpf·跨平台·winform
baivfhpwxf20231 天前
wpf TextBlock 控件如何根据内容换行?
wpf
亘元有量-流量变现1 天前
鸿蒙、安卓、苹果音频设备技术深度解析与开发实践
android·wpf·harmonyos·亘元有量·积分墙
软泡芙1 天前
【Bug】ReactiveUI WPF绑定中依赖属性不更新的问题分析与解决方案
java·bug·wpf
浪扼飞舟1 天前
WPF输入验证(ValidationRule)
java·javascript·wpf
IOFsmLtzR3 天前
Flink Agents 源码解读 --- (5) --- ActionExecutionOperator
microsoft·flink·wpf
廋到被风吹走4 天前
【AI】Codex 复杂任务拆解:从“一气呵成“到“步步为营“
人工智能·wpf
希望永不加班4 天前
SpringBoot 整合 Redis 缓存
spring boot·redis·后端·缓存·wpf
_MyFavorite_4 天前
JAVA重点基础、进阶知识及易错点总结(29)JDK8 时间 API 进阶
java·开发语言·wpf