WPF 右键菜单选项

      WPF右键菜单一般情况下是被看做一个类。当我们在具体的开发程序中,往往都是需要在某个按钮或框架内添加一个WPF右键菜单的需求。

      ContextMenu类就是用来做右键菜单的对象,对于任何的控件都可以进行对ContextMenu属性的操作进行设置右键菜单的功能.

     下面代码就是对一个按钮添加一个WPF右键菜单的功能:

  1. < Button Name="cmButton" 
    Height="30">Button with 
    Context Menu  
  2. < Button.ContextMenu> 
  3. < ContextMenu Name="cm" 
    StaysOpen="true"> 
  4. < MenuItem Header="File"/> 
  5. < MenuItem Header="Save"/> 
  6. < MenuItem Header="SaveAs"/> 
  7. < MenuItem Header="Recent Files"> //注意没有斜杠是因为开启二级菜单 姜彦 20170615
  8. < MenuItem Header="ReadMe.txt"/> // 二级菜单下的item 姜彦 20170615
  9. < MenuItem Header="Schedule.xls"/>   
  10. < /MenuItem> 
  11. < /ContextMenu> 
  12. < /Button.ContextMenu> 
  13. < /Button> 

包括任何控件,只要有ContextMenu属性都可以添加WPF右键菜单.

 

 

工程中实际的代码:

WPF界面端代码:

<DataGrid.ContextMenu>
                            <ContextMenu Name="cmCheck" 
                                     StaysOpen="true"
                                     Background="White"
                                     >

                                <MenuItem Header="全选"
                                      Click="cmCheckAll_Click"//点击事件
                                      />

                                <MenuItem Header="全不选"
                                       Click="cmUnCheckAll_Click"//点击事件                                      >
                                </MenuItem>

                            </ContextMenu>
</DataGrid.ContextMenu>


cs逻辑端代码:

 /// <summary>
        /// 右键全选事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmCheckAll_Click(object sender, RoutedEventArgs e)
        {   
            foreach (TForwardDefineViewModel forwardDefineVM in this.forwardDefineVMs.ToList())
            {
                forwardDefineVM.IsSelected = true;
            }
            btnCheckAll.IsChecked = true;
        }

        /// <summary>
        /// 右键全不选事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmUnCheckAll_Click(object sender, RoutedEventArgs e)
        {
            foreach (TForwardDefineViewModel forwardDefineVM in this.forwardDefineVMs.ToList())
            {
                forwardDefineVM.IsSelected = false;
            }
            btnCheckAll.IsChecked = false;
        }  

 ------------------------------------------------------------------------- 姜彦20170615

posted @ 2017-06-15 18:25  <--青青子衿-->  阅读(3654)  评论(0编辑  收藏  举报
// /**/ // 在页脚Html代码 引入 // function btn_donateClick() { var DivPopup = document.getElementById('Div_popup'); var DivMasklayer = document.getElementById('div_masklayer'); DivMasklayer.style.display = 'block'; DivPopup.style.display = 'block'; var h = Div_popup.clientHeight; with (Div_popup.style) { marginTop = -h / 2 + 'px'; } } function MasklayerClick() { var masklayer = document.getElementById('div_masklayer'); var divImg = document.getElementById("Div_popup"); masklayer.style.display = "none"; divImg.style.display = "none"; } setTimeout( function () { document.getElementById('div_masklayer').onclick = MasklayerClick; document.getElementById('btn_donate').onclick = btn_donateClick; var a_gzw = document.getElementById("guanzhuwo"); a_gzw.href = "javascript:void(0);"; $("#guanzhuwo").attr("onclick","follow('33513f9f-ba13-e011-ac81-842b2b196315');"); }, 900);