原文:MVVM 下 ContextMenu的命令绑定

  由于ContextMenu不继承父级的DataContext,所以如果要绑定父级的DataContext,直接DataContext=“{Binding}”是行不通的。因此可通过以下两个方式解决绑定的问题。

1、使用资源的方式

 1         <Button Content="Test" Command="{Binding TestCommand}">
 2             <Button.Resources>
 3                 <vm:ThreeViewModel x:Key="Three"/>
 4             </Button.Resources>
 5             <Button.ContextMenu>
 6                 <ContextMenu>
 7                     <MenuItem Header="测试" Command="{Binding TestCommand,Source={StaticResource Three}}"/>
 8                 </ContextMenu>
 9             </Button.ContextMenu>
10         </Button>
11     

2、利用ContextMenu的PlacementTarget属性

        <Button Content="Test" Command="{Binding TestCommand}"><Button.ContextMenu><ContextMenu><MenuItem Header="测试" Command="{Binding PlacementTarget.DataContext.TestCommand,  RelativeSource={RelativeSource AncestorType=ContextMenu} }"/></ContextMenu></Button.ContextMenu></Button>

MVVM 下 ContextMenu的命令绑定相关推荐

  1. Windows下,ARP命令绑定MAC地址失败的解决方法

    前言 关于ARP 在局域网中,网络设备的IP和MAC是对应的. 有些病毒.木马程序会伪造IP和MAC地址的对应关系,让本该发送给其它设备的信息,发送给自己,以此窃取数据,或者破坏网络!有一些网络管理工 ...

  2. MVVM下拉框绑定触发事件

    开发工具与关键技术:MVVM 撰写时间:2021年06月15日 在MVVM中下拉框的绑定跟MVC的下拉框绑定基本一样,只不过在MVVM中要写多一步声明下拉框的属性来接收数据. 首先我们要在DAL层写查 ...

  3. C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码

    今天的学习内容? 今天我们讲讲Xamarin中的MVVM双向绑定,嗯..需要有一定的MVVM基础.,具体什么是MVVM - -,请百度,我就不多讲了 效果如下: 正文 1.简单的入门Demo 这个时间 ...

  4. WPF MVVM下用户控件的Visibility属性绑定问题

    现象:发现用户控件 通过 MVVM 绑定 Visibility 属性 没有效果,发现问题由下面代码产生: 绑定的 Visibility 属性没有效果, 注释该代码后 MVVM下绑定Visibility ...

  5. WPF 命令绑定的各种方式

    WPF 命令绑定的各种方式 引言 在WPF开发过程中,不得不学习的就是MVVM模式.但是在MVVM中又绕不开命令(Command)的使用.下面通过几种方式介绍我了解的WPF命令绑定方式. 如何使用 控 ...

  6. windows下的cmd命令(全面)

    2019独角兽企业重金招聘Python工程师标准>>> 命令提示符是在操作系统中,提示进行命令输入的一种工作提示符.在不同的操作系统环境下,命令提示符各不相同. 在windows环境 ...

  7. HierarchicalDataTemplate中的ContextMenu的Command绑定

    <ContextMenu x:Key="ModeMenu"> <MenuItem Header="添加" Command="{Bin ...

  8. Window平台下通过cmd命令查看端口占用、查看进程、结束进程

    Window平台下通过cmd命令查看端口占用.查看进程.结束进程 一.概述: (更好的阅读体验,请移步我的个人博客)在学习进程间通讯的时候,我们知道有一种通讯方式叫做socket.对于跨主机之间的进程 ...

  9. Windows命令行下常用网络命令解释大全

    命令行下常用网络命令解释大全 1.Arp 显示和修改"地址解析协议"(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表.该命令只有在安装了 TCP/IP 协议之后才可用. ...

最新文章

  1. 如何解决组织协同?用智办事更简单!
  2. R绘制面积图(area plot)
  3. linux 7个运行级别 runlevel 简介
  4. linux mysql cpu 高,Linux系统中关于Mysql数据库导致CPU很高的问题解决
  5. 让Windows 8 / 8.1 以及 Windows Server 2012 / 2012 R2的桌面,显示我的电脑图标
  6. ios 中的基本算数函数
  7. 自定义scoll样式
  8. c 语言开发一个四则运算器,C++实现四则运算器(无括号)
  9. PTA-7-5 打印杨辉三角 (20分)(C语言)
  10. Android Permission访问权限许可
  11. 外部方法调用内部_实战经验:通过类成员函数指针实现类方法调用
  12. z17刷miui_努比亚Z17刷机包
  13. 电影整站程序 - webplayer9 p2p视频点播 - 电影整站系统 全部ASP源代码
  14. 从NLP任务中文本向量的降维问题,引出LSH(Locality Sensitive Hash 局部敏感哈希)算法及其思想的讨论...
  15. 瞅瞅Levels.fyi发布的2020年度程序员收入报告
  16. 前方高能!阿里云双11拼团百团大战已开启!
  17. 用批处理文件替换或删除文件名中的字符
  18. KD7440八通道安规综合测试仪
  19. 开放式激光振镜运动控制器(五):ZMC408SCAN光纤激光器的能量控制
  20. 【算法练习】LeetCode-2322. 从树中删除边的最小分数

热门文章

  1. linux下的setenv使用
  2. Java 字符串匹配的KMP算法
  3. Python super() 函数的用法及实例
  4. VC++ 多线程同步实例
  5. 发现个Asp.net英文Blog,嘿嘿,刚好对俺学e文有用:)
  6. 函数、迭代器、生成器、装饰器
  7. EXT Grid celleditor列编辑,动态控制某一单元格只读
  8. Python实现抓取CSDN博客首页文章列表
  9. 详解 6 大主流深度学习框架
  10. FreeModbus移植到STM32F107(以太网传输方式)