给GridControl的行数据单元格添加菜单项,并通过Command绑定的方式实现菜单点击动作触发:

                    <dxg:GridControl x:Name="mainGrid" ItemsSource="{Binding TableDataSource}">
<dxg:GridColumn Header="A" FieldName="A"/>
<dxg:GridColumn Header="B" FieldName="B"/>
<dxg:GridColumn Header="C" FieldName="C"/>
<dxg:GridColumn Header="D" FieldName="D"/>
<dxg:GridColumn Header="E" FieldName="E"/>
<dxg:GridControl.View>
<dxg:TableView x:Name="tvTable" ShowGroupPanel="False" AllowColumnFiltering="False"
AllowedGroupFilters="None" AllowGrouping="False"
ShowIndicator="False" AllowSorting="False"
AllowEditing="False" AllowFilterEditor="False">
<dxg:TableView.RowCellMenuCustomizations>
<dxb:BarButtonItem Name="DataHeader"
Content="数据头"
Command="{Binding Path=(dxg:DataControlBase.ActiveView).DataContext.SetDataHeaderCommand, RelativeSource={RelativeSource Self}}"
CommandParameter="{Binding ElementName=tvTable, Path=FocusedRowHandle}" >
</dxb:BarButtonItem>
<dxb:BarButtonItem Name="DataBegin" Content="数据开始"
Command="{Binding Path=DataContext.SetDataBeginCommand,ElementName=mainGrid}"
CommandParameter="{Binding ElementName=tvTable, Path=FocusedRowHandle}">
</dxb:BarButtonItem>
</dxg:TableView.RowCellMenuCustomizations>
</dxg:TableView>
</dxg:GridControl.View>
</dxg:GridControl>

上面的两个命令绑定分别使用两种方式实现DataContext的绑定:

注:前提条件是:待绑定的Command和需要寻找的元素的DataContext是同一个才适用。

1. 通过 DataControlBase.ActiveView 附加属性来将当前命令的上下文绑定到  tvTable 的数据上下文上;

Command="{Binding Path=(dxg:DataControlBase.ActiveView).DataContext.SetDataHeaderCommand, RelativeSource={RelativeSource Self}}"

2. 通过 定义 ElementName 的当时,寻找指定元素的DataContext作为数据上下文绑定的方式:

Command="{Binding Path=DataContext.SetDataBeginCommand,ElementName=mainGrid}"

方式二也是一般常用方式,适用于多层级的子元素的数据上下文绑定。

注意:不管是方式一还是方式二,“DataContext” 都不能少,否则会提示找不到对应的 Command;

RowCellMenuCustomizations 实现 Command 绑定的更多相关文章

  1. elementui command绑定变量对象方法

    command绑定变量对象方法 使用v-bind : command绑定 简写 :command

  2. MVVM中轻松实现Command绑定(三)任意事件的Command

    WPF中不是所有的控件都有Command属性的,如果窗体我需要在ViewModel中处理Loaded事件命令,或者其他事件的命令时,很难都过绑定Command完成,必须要注册依赖属性或事件等,太麻烦了 ...

  3. WPF ItemsControl Command 绑定操作

    视图模型: using System.Collections.ObjectModel; using System.Diagnostics; using System.Windows.Input; us ...

  4. WPF ListboxItem 双击事件 Command绑定

    <ListBox x:Name="Lb" HorizontalAlignment="Left" Height="600" Vertic ...

  5. MVVM中轻松实现Command绑定任意事件的Command

    下面是“银光中国”(不错的WPF或SL网站)WPF学习教程中的一个连接, http://www.silverlightchina.net/html/study/WPF/2011/0715/9034.h ...

  6. WPF中的Command事件绑定

    在项目中使用Command绑定能够使我们的代码更加的符合MVVM模式.不了解的同学可能不清楚,只有继承自ButtonBase类的元素才可以直接绑定Command(Button.CheckBox.Rad ...

  7. WPF中DataGrid控件内Button的Command和CommandParameter的绑定

    场景:视频上传功能,上传列表使用DataGrid控件,视频有不同的状态对应不同的操作,DataGrid中最后一列为操作列,里面是Button控件.希望点击Button后执行对应的操作,但是设置Butt ...

  8. Command Pattern 命令模式

    定义: 命令模式将‘请求’封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象,命令模式也支持可撤销的操作. 类图 如上图所示:Command类是用来声明执行操作的接口:ConcreteCom ...

  9. WPF EventSetter Handler Command

    最近做一个工具,突然发现ListBox和ListView等列表控件的MouseDoubleClick事件有时候是获取不到当前双击的行对象数据的,比如这样写: <ListBox Grid.Row= ...

  10. 说不尽的MVVM(4) – 发号施令的Command

    知识预备 阅读本文,我假定你具备以下知识: C# WPF基础知识 知道WPF的命令 WPF相对WinForm加了一种Command的机制,对用户的操作进行更加灵活的处理,相信很多朋友知道并用过Rout ...

随机推荐

  1. DASCTF X CBCTF 2023 Misc Justlisten WP

    DASCTF X CBCTF 2023 Misc Justlisten WP 又是一道很抽象的misc题 首先附件给了一个汉信码,扫码得到: 提示我们使用oursecret: password为0ur ...

  2. Qt 窗口随控件变换大小

    QVBoxLayout* verticalLayout = new QVBoxLayout(this); verticalLayout->setSizeConstraint(QLayout::S ...

  3. 腾讯技术岗位笔试&面试题(四)

    说在前面 本篇文章是腾讯技术面试题目汇总第四篇. 后续将持续推出互联网大厂,如阿里,腾讯,百度,美团,头条等技术面试题目,以及答案和分析. 欢迎大家点赞关注转发. 原文链接:https://mp.we ...

  4. Gitee三方登录_Python (超详细)

    第三方登录是一种常见的身份验证机制,允许用户使用他们在其他平台(如社交媒体.电子邮件服务或开发平台)的账号来登录你的应用或网站,而不需要创建新的用户名和密码.这种方式不仅简化了用户的登录过程,还提高了 ...

  5. Dapr-6 Dapr 服务调用构建块

    第 6 章 Dapr 服务调用构建块 https://docs.microsoft.com/en-us/dotnet/architecture/dapr-for-net-developers/serv ...

  6. 理解 ASP.NET Core:Cookie 认证

    理解 ASP.NET Core:Cookie 认证 ASP.NET Core 内置提供了基于 Cookie 的认证支持.在使用 Cookie 验证的时候,相关的三要素: 认证模式名称:CookieAu ...

  7. 【JavaWeb】【Cookie】通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆

    通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆 Cookie类的构造方法 public Cookie(java.lang.String name,java.lang.String ) 1 ...

  8. 【javaweb】【Session】记录用户访问时间

    效果 Servlet import jakarta.servlet.*; import jakarta.servlet.http.*; import jakarta.servlet.annotatio ...

  9. Log4j2的JNDI注入漏洞(CVE-2021-44228)原理分析与思考

    https://www.freebuf.com/vuls/316143.html 前言 最近Log4j2的JNDI注入漏洞(CVE-2021-44228)可以称之为"核弹"级别.L ...

  10. springboot带参数的文件上传

    这个工程是在内网环境进行开发,u口也被封住了,所以不能把代码拷贝出来,于是把业务部分进行脱敏处理,核心代码手写一遍如下:一.html关键代码 <form id = "createFor ...