WPF下的右键菜单隐藏

摘要:
Class=“WPFTest.Window1”xmlns=“http://schemas.microsoft.com/winfx/2006/xaml/presentation“xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml“Title=”Window1“Height=”300“Width=”300”>

WPF中,右键菜单一旦设置,就很难控制其不让打开,点击右键一定会弹出,如果只是隐藏几个项还是没问题的,但是如果所有项都隐藏了,还是会弹出一个空白内容的右键菜单,难看死,也没有给任何后台控制的方法,于是找到了一个前台的属性可以控制。

<Window x:Class="WPFTest.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
  <Grid>
    <Grid.ContextMenu>
      <ContextMenu ContextMenuService.IsEnabled="{Binding IsContextMenuVisible}">
        <MenuItem Header="测试"/>
      </ContextMenu>
    </Grid.ContextMenu>
  </Grid>
</Window>
namespace WPFTest
{
    public partial class Window1 : Window
    {
        public static readonly DependencyProperty IsContextMenuVisibleProperty =
    DependencyProperty.Register("IsContextMenuVisible", typeof(Boolean), typeof(Window1), new PropertyMetadata());

        public Window1()
        {
            InitializeComponent();
            DataContext = this;
        }
    }
}

由于默认值为false,因此右键菜单默认不显示,当需要显示的时候,插入代码

SetValue(IsContextMenuVisibleProperty, true);

即可,原理就是通过改变这个依赖项属性来控制右键菜单是否可以使用,可惜这个是静态的附加属性,后台访问不到,有知道后台访问它的人可以告知下,目前只有绑定法可行。

免责声明:文章转载自《WPF下的右键菜单隐藏》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java微信二次第三方开发,token认证,消息事件接收,图文素材库,自定义菜单等功能EdgeX 1.2研究-2 读取Modbus协议设备下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#中使用Surfer

做地理信息或者绘制等值线,都会选择Surfer这个软件。这个软件对我们的作用有两个(1)插值(2)绘图。 软件:Windows 7 x64,Microsoft Visual Studio 2012 RC,Surfer 10 一、添加引用,Surfer在COM组件中。 然后在代码中加入 using Surfer; 二、创建一组原始数据文件命名为data.d...

微信小程序first-child 和 last-child 失效如何解决?

问题情况 html 1 <view class="box"> 2 <view class="floor"> 3 一楼 4 </view> 5 <view class="floor"> 6 二楼 7 </view> 8 <view class...

Flask小总结+实例化Flask参数以及对app的配置

Flask 小而精 三方组件全 稳定性相对较差 1.启动: from flask import Flask app = Flask(__name__) app.run("0.0.0.0",5000,debug=True) 2.加入路由...

WPF多语言功能简单示例

一.本功能的原理 1、为不同语言创建不同的资源文件,如en-us.xaml、zh-cn.xaml 2、在App.xaml加载时根据配置文件的值读取不同的资源文件 3、在各窗体的xaml文件中利用动态绑定显示资源文件内容 4、更改不同语言需修改配置文件的值并重新启动程序,也可获取当前操作系统的语言类型在启动时读取不同的语言资源文件   en-us.xam...

批量上传图片

实现的效果图 引用 <script src="/common/jquery-1.9.1.min.js" type="text/javascript"></script> <script type="text/javascript" src="/kindeditor-4.1.7/kindeditor-all.js">&l...

DB2中Lob is closed. ERRORCODE=4470的解决

使用DB2的Blob类型是,出现一下错误: Lob is closed. ERRORCODE=-4470, SQLSTATE=null;?C:com.ibm.db2.jcc.b.SqlException: [jcc][10120][11936][3.50.152] 操纵无效:已封闭 Lob。 ERRORCODE=-4470, SQLSTATE=null。...