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:当鼠标滚轮滚动时触发。

相关推荐
程序员-Benothing5 小时前
如何实现高并发系统订单30分钟自动关闭?
开发语言·c#·wpf
一水21 小时前
Redis实战:一个AI工作流系统里的五个应用场景,从传参到限流的完整链路
数据库·redis·wpf
dalong101 天前
WPF:3D甜甜圈
3d·c#·wpf·甜甜圈
别催小唐敲代码1 天前
ROS2从入门到实战:去中心化机器人操作系统详解
wpf·ros2
脚踏实地皮皮晨2 天前
003006001_WrapPanel控件
开发语言·c#·.net·wpf·visual studio
脚踏实地皮皮晨2 天前
003005002_WPF StackPanel 基类官方类定义逐行深度解析
开发语言·windows·算法·c#·wpf·visual studio
脚踏实地皮皮晨2 天前
003004002_UniformGrid控件的使用方法
开发语言·c#·.net·wpf·visual studio
脚踏实地皮皮晨3 天前
003003002_WPF Grid 基类官方类定义逐行深度解析
开发语言·windows·算法·c#·wpf·visual studio
脚踏实地皮皮晨4 天前
003002004_WPF Panel 基类 官方类定义
开发语言·windows·算法·c#·wpf·visual studio
湿滑路面5 天前
Rouyan:使用WPF/C#构建的基于LLM的快捷翻译小工具
开发语言·c#·wpf