WPF xaml 绑定的men,如何获取menuitem点击的菜单项名称

问题描述

<Windowx:Class="Weight_Batch.UI.MainWindow"xmlns:src="clr-namespace:Weight_Batch.UI"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="MainWindow"Height="350"Width="525"WindowState="Maximized"><Window.Resources><HierarchicalDataTemplatex:Key="MenuItem"ItemsSource="{BindingChildren}"><TextBlockText="{BindingText}"/></HierarchicalDataTemplate></Window.Resources><GridName="Grid_1"><Grid.RowDefinitions><RowDefinitionHeight="30"/><RowDefinition/><RowDefinitionHeight="30"/></Grid.RowDefinitions><DockPanelName="Menu"Grid.Row="0"MenuItem.Click="StackPanel_Click"><MenuName="MainMenu"DockPanel.Dock="Top"ItemTemplate="{StaticResourceMenuItem}"Height="30"/></DockPanel><StackPanelName="Workbench"Grid.Row="1"Height="80"><Menu><MenuItemHeader="TT"><MenuItemHeader="Y1"Click="ONCLIK"/><MenuItemHeader="Y2"Click="ONCLIK"/></MenuItem></Menu></StackPanel><DockPanelName="Status"Grid.Row="2"></DockPanel></Grid></Window>usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents;usingSystem.Windows.Input;usingSystem.Windows.Media;usingSystem.Windows.Media.Imaging;usingSystem.Windows.Navigation;usingSystem.Windows.Shapes;usingWeight_Batch.DAL;usingSystem.Data.Entity;usingSystem.Data;usingSystem.Configuration;usingSystem.Xml;usingSystem.Reflection;usinglog4net;usingWeight_Batch.Model;namespaceWeight_Batch.UI{///<summary>///MainWindow.xaml的交互逻辑///</summary>publicpartialclassMainWindow:Window{privatestaticSysPersonLoginUser=newSysPerson();publicstaticSysPersonloginUser{set{LoginUser=value;}}publicMainWindow(){InitializeComponent();#regiontry{using(varcontext=newWeight_Batch_Context()){varSonMenu=frompincontext.MenuRoles.ToList()wherep.ParentName!=""&&p.RoleID==LoginUser.RoleID&&p.Selected==trueorderbyp.Sortgrouppbyp.ParentNameintogorderbyg.Count()selectnew{ParentName=g.Key,count=g.Count(),name=fromr1ingorderbyr1.Sortselectr1.Menu};List<MenuModel>M=newList<MenuModel>();foreach(vargpinSonMenu){MenuModelN=newMenuModel();N.Text=gp.ParentName;foreach(varNameingp.name){MenuModelP=newMenuModel();P.Text=Name;N.Children.Add(P);}M.Add(N);}MainMenu.ItemsSource=M;}}catch{}}privatevoidStackPanel_Click(objectsender,RoutedEventArgse){MenuItemmi=(MenuItem)e.OriginalSource;}}}在后台代码中如何获取点击的菜单项的名称,然后处理相关事情usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceWeight_Batch.Model{publicclassMenuModel{stringtext;publicstringText{get{returntext;}set{text=value;}}List<MenuModel>children=newList<MenuModel>();publicList<MenuModel>Children{get{returnchildren;}set{children=value;}}}

解决方案

解决方案二:
在你的ONCLIK事件中使用senderasMenuItem转换成MenuItem取它的属性。

时间: 2024-09-05 11:16:18

WPF xaml 绑定的men,如何获取menuitem点击的菜单项名称的相关文章

学习WPF——元素绑定

概念 从源对象提取一些信息,并用这些信息设置目标对象的属性 示例 在给TextBlock控件的FontSize属性赋值时,我们使用了绑定表达式 数据绑定表达式使用XAML的标记扩展(因此具有花括号)(参见:) 这里创建了一个System.Windows.Data.Binding对象,所以绑定表达式以单词binding开头 在本例中只设置了Binding对象的两个属性ElementName和Path属性 ElementName 指定源元素 Path 指定源元素中的属性 Mode OneWay: 当

wpf命令绑定附加事件传递的过程

问题描述 wpf命令绑定附加事件传递的过程 命令源在命令绑定的范围内向命令目标发送命令,但是当命令源不在命令绑定范围内的时候,命令绑定的附加事件是如何传送的呢?请大侠们帮我看一下下面代码附加事件的传送过程是什么样的?是怎么从命令源传到命令目标的? 还有在命令目标不由程序员指定的时候,不应该是当前焦点所在为命令目标吗,为什么添加监视中的命令目标为空呢? xaml代码如下: .cs代码如下: public RoutedCommand clearCmd = new RoutedCommand("Cle

大家好!在C#编程中我点击MenuItem时想要获取被点击Item的Text,请问程序上要怎么实现,多谢!

问题描述 大家好!在C#编程中我点击MenuItem时想要获取被点击Item的Text,请问程序上要怎么实现,多谢! 解决方案 解决方案二:这个Item的Name属性.Text可以获取到privatevoidqToolStripMenuItem_Click(objectsender,EventArgse){stringid=this.qToolStripMenuItem.Text;} 解决方案三:((ToolStripMenuItem)sender).Text 解决方案四:第一楼楼主,我按照你的

WPF listview滚动条移动距离如何获取

问题描述 WPF中listview控件自带了滚动条,请问如何获取滚动条滚动了多少距离,我需要在起始点基础上加上这段移动距离绘制矩形 解决方案 解决方案二:没做过你看看有没有属性之类的相关信息解决方案三:获取鼠标点击的坐标来计算,行不行

wpf DataGrid 双击某行是获取当前行内某列的值

问题描述 前端:<DataGridName="datagrid1"ItemsSource="{Binding}"AutoGenerateColumns="False"Margin="0,62,0,-15"MouseDoubleClick="datagrid_MouseDoubleClick"><DataGrid.Columns><DataGridTextColumnHeader

图片-从数据库获取数据绑定到树状菜单

问题描述 从数据库获取数据绑定到树状菜单 我想问:这个树状菜单是那些代码获取数据的? 解决方案 你的第二张图片的showmenu()方法是获取数据的,发了一个请求,后台把数据返回到前台,data就是你的数据源 解决方案二: showMenu()方法中ajax异步获取数据成功后,用data拼接成zTree的节点参数的格式,作为zTree的初始化数据参数完成树形菜单绑定的. 就是下图的zNodes变量. zNodes树形插件的使用就简单的API,多看看官网使用例子,很容易掌握的.祝好!

关于如何在listview监听器中如何获取所点击那部分的值

问题描述 关于如何在listview监听器中如何获取所点击那部分的值 我在listview绑定了三个textview, 我想在我点击listview的时候把我点击的项中,取得它里面的其中一个textview的值, 然后传递到另一个activity 我的监听器代码如下 OnItemClickListener listener =new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, Vi

javascript-js怎么根据 button 的name获取并且点击它

问题描述 js怎么根据 button 的name获取并且点击它 如有多个同名的button,name是已知的,怎么获取这些button,并全部触发操作. 解决方案 $('input[name="xxxxx"]'),这个找到一个集合,所以你最好给元素加上id,根据id找到唯一对象,然后执行click 解决方案二: getElementsByName(name)获得一个数组,再遍历这些数组,绑定事件onclick 解决方案三: 可以通过name获取所有button 统一绑定点击事件,jqu

关于webBrowse 获取网页中点击区域的html源码的问题。

问题描述 关于webBrowse获取网页中点击区域的html源码的问题.大家有什么思路没有?现在知道怎么获取选中区域的html源码.可想获取点击区域的html源码,请问如何做?最好有源码,希望大家一起交流.. 解决方案 解决方案二:看看这个解决方案三:我的意思是用webBrowser打开一个网页后,鼠标点击某个区域,然后获取到这个区域的标签源码,不是网页中所有的源码.解决方案四:定啊...撒啊啊啊啊啊啊啊啊啊啊啊解决方案五:mshtml.HTMLDocument.parentWindow.@ev