在WPF中右击菜单项的XMAL代码是:

<ContextMenu x:Key="sampleContextMenu">
<MenuItem Header="在前面插入行" Click="InsertRowFront_Click"/>
<MenuItem Header="在后面插入行" Click="InsertRowBehind_Click"/>
<MenuItem Header="删除行" Click="DeleteRow_Click"/>
<MenuItem Header="debug1" Command="{Binding cmd1}"/>
</ContextMenu>

比如想在TEXTBOX中右击时候出现菜单,只需有在TEXTBOX中使用

<TextBox x:Name="textBoxName" Text="{Binding textValue,Mode=TwoWay}" Width="75" Height="36" ContextMenu="{StaticResource sampleContextMenu}" Style="{DynamicResource TextBoxStyle1}"/>

然后以上代码如果是在<UserControl>标签中使用的话,使用Click绑定的函数只能定义在<UserControl>的后台代码中,如果使用Command绑定的话,不管命定定义在<UserControl>还是引用<UserControl>的<Window>的后台代码中,都无法有效绑定,经过多次尝试,我在XMAL中引入MainWindow,将命定cmd1定义在Mainwindow的后台代码中

<local:MainWindow x:Key="dataContextProxy"/>

然后将菜单代码改为 <MenuItem Header="debug1" Command="{Binding cmd1,Source={StaticResource dataContextProxy}}"/>

发现有效使用命令。

之前我在<UserControl>的后台代码中定义命定使用this.DataContext=this,无法有效绑定命定,在<MainWindow>d的后台代码中定义命定并将UserControl的DataContext指向MainWindow同样无效。至于为什么会出现这种情况,等以后有时间慢慢研究。。

至于为何会出现这种情况,还等以后有时间慢慢研究。

WPF之ContextMenu的命定绑定的更多相关文章

  1. WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法

    原文:WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法 问题描述 今天发现如果我想在一个TextBlock弄一个右键菜单,并且使用Command绑定,结果发 ...

  2. WPF Datagrid 动态生成列 并绑定数据

    原文:WPF Datagrid 动态生成列 并绑定数据 说的是这里 因为列头是动态加载的 (后台for循环 一会能看到代码) 数据来源于左侧列 左侧列数据源 当然num1 属于临时的dome使用  可 ...

  3. WPF DataGrid某列使用多绑定后该列排序失效,列上加入 SortMemberPath 设置即可.

    WPF DataGrid某列使用多绑定后该列排序失效 2011-07-14 10:59hdongq | 浏览 1031 次  悬赏:20 在wpf的datagrid中某一列使用了多绑定,但是该列排序失 ...

  4. CYQ.Data 支持WPF相关的数据控件绑定.Net获取iis版本

    CYQ.Data 支持WPF相关的数据控件绑定(2013-08-09) 事件的结果 经过多天的思考及忙碌的开发及测试,CYQ.Data 终于在UI上全面支持WPF,至此,CYQ.Data 已经可以方便 ...

  5. WPF中的命令与命令绑定导航

    1.WPF中的命令与命令绑定(一) (引入命令) 2.WPF中的命令与命令绑定(二)(详细介绍命令和命令绑定)

  6. WPF中的命令与命令绑定(二)

    原文:WPF中的命令与命令绑定(二) WPF中的命令与命令绑定(二)                                              周银辉在WPF中,命令(Commandi ...

  7. WPF中的命令与命令绑定(一)

    原文:WPF中的命令与命令绑定(一)   WPF中的命令与命令绑定(一)                                           周银辉说到用户输入,可能我们更多地会联想到 ...

  8. WPF dataGrid下的ComboBox的绑定

    WPF dataGrid下的ComboBox的绑定 Wpf中dataGrid中的某列是comboBox解决这个问题费了不少时间,不废话了直接上代码 xaml 代码 <DataGridTempla ...

  9. 【转】解决WPF图片模糊最佳方法(绑定PixelWidth与PixelHeight)

    解决WPF图片模糊最佳方法(绑定PixelWidth与PixelHeight) 转载自:http://www.360doc.com/content/13/1126/09/10504424_332211 ...

随机推荐

  1. python之路 正则表达式,模块导入的方法,hashlib加密

    一.正则表达式re python中re模块提供了正则表达式相关操作 字符: . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的 ...

  2. 每天一个Linux命令(58)sudo命令

        sudo命令用来以其他身份来执行命令,预设的身份为root.     (1)用法:     用法:  sudo  [参数]  [命令]     (2)功能:     功能:  sudo可以针对 ...

  3. Linux基本命令 网络命令

    概述 网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ...

  4. perspective 能玩点什么

    今天看又在看张鑫旭的博客,本来是在玩 transform:Matrix() 的,有讲到单个变化的矩阵设置,但多个变化的就不是那么回事了. 不过这都不是事啦,人生嘛,显然总会有些难关不是轻易能过去的,反 ...

  5. ubuntu 12.04.2 基于 L3.0.35_1.1.0_121218_source LTIB 问题汇总

    1)解压L3.0.35_1.1.0_121218_source.tar.gz 2)cd  L3.0.35_1.1.0_121218_source ,执行./install 3)  复制 patch-l ...

  6. 【Head First Servlets and JSP】笔记5:HttpServletResponse resp

    [HttpServletResponse resp] [由servlet处理响应] 1.一般可以用通过resp获得一个输出流(writer),然后通过输出流将HTML写入响应.例如: resp.set ...

  7. 20145231 《Java程序设计》第一次实验

    实验一 Java开发环境的熟悉(Windows+IDEA) 实验内容 使用JDK编译.运行简单的Java程序: 使用IDEA编辑.编译.运行.调试java程序: 实验知识点 JVM.JRE.JDK的安 ...

  8. git上面创建个人简历-链接

    github创建个人在线简历: https://segmentfault.com/a/1190000006820290

  9. Java 内部类、静态类内部类

    问: 什么是内部类? 答: 内部类(Inner Class)就是在一个类的内部再定义一个类,与之对应包含内部类的类被称为外部类. 问: 为什么要将一个类定义在另外一个类内部呢? 答: 内部类主要作用如 ...

  10. TortoiseSVN教程级别指南

    安装说明 开发人员强烈建议使用IDE中的SVN插件更加智能与人性化. 首先安装SVN客户端,windows一般选择乌龟客户端https://tortoisesvn.net/downloads.html ...