我下面的代码是要点击了MenuItem中的“人员查询”之后就打开了一个新的窗体。
但是我不知道怎么判断当前点击的是不是“人员查询”这个子菜单。
在线等。
private void MenuItem_Click(object sender, RoutedEventArgs e)
{
//if(....???)
//{
FormPersonPMse FPSe = new FormPersonPMse();
FPSe.Show();
WindowInteropHelper parentHelper = new WindowInteropHelper(this);
WindowInteropHelper childHelper = new WindowInteropHelper(FPSe); Win32Native.SetParent(childHelper.Handle, parentHelper.Handle);
//FPSe.Show(); } <MenuItem Header="数据查询" DataContextChanged="MenuItem_DataContextChanged" Click="MenuItem_Click" Uid="MIDataSe">
<MenuItem Header="人员查询" FontSize="12" />
<MenuItem Header="员工表查询" FontSize="12" />
<MenuItem Header="干部表查询" FontSize="12"/>
</MenuItem>
但是我不知道怎么判断当前点击的是不是“人员查询”这个子菜单。
在线等。
private void MenuItem_Click(object sender, RoutedEventArgs e)
{
//if(....???)
//{
FormPersonPMse FPSe = new FormPersonPMse();
FPSe.Show();
WindowInteropHelper parentHelper = new WindowInteropHelper(this);
WindowInteropHelper childHelper = new WindowInteropHelper(FPSe); Win32Native.SetParent(childHelper.Handle, parentHelper.Handle);
//FPSe.Show(); } <MenuItem Header="数据查询" DataContextChanged="MenuItem_DataContextChanged" Click="MenuItem_Click" Uid="MIDataSe">
<MenuItem Header="人员查询" FontSize="12" />
<MenuItem Header="员工表查询" FontSize="12" />
<MenuItem Header="干部表查询" FontSize="12"/>
</MenuItem>
解决方案 »
- reflector反编译出现does not contain a CLI header
- C#中的 启用了Ajax的WCF服务 功能返回DataTable类型不成功?
- 谁有用c#.net做的小区物业管理啊?
- NullReferenceException,System.Data.OleDb.OleDbException: 未指定的错误
- 如何修改ie标题栏的背景?
- 百分求一个小问题:如何监听一个正在使用的端口的数据,如80端口
- 在线等....用过美萍视频点播系统的加QQ125572829
- C#下数据库一列求和
- C#中listbox删除出现未将对象引用设置到对象实例
- 关于silverlight-listbox-ItemTemplate!我ItemsSource是自定义控件
- C# 调用C++ dll用隐式链接还是显示加载?
- reportview 打印颠倒
MenuItem mi = sender as MenuItem;
>? mi
null
>? sender
{System.Windows.Controls.MenuItem 标题:数据查询 Items.Count:3}
base {System.Windows.Controls.HeaderedItemsControl}: {System.Windows.Controls.MenuItem 标题:数据查询 Items.Count:3}
Command: null
CommandParameter: null
CommandTarget: null
Icon: null
InputGestureText: ""
IsCheckable: false
IsChecked: false
IsHighlighted: false
IsPressed: false
IsSubmenuOpen: false
IsSuspendingPopupAnimation: false
Role: TopLevelHeader
StaysOpenOnClick: false
>? e
{System.Windows.RoutedEventArgs}
base {System.EventArgs}: {System.Windows.RoutedEventArgs}
Handled: false
OriginalSource: {System.Windows.Controls.MenuItem 标题:考核人员查询 Items.Count:0}
RoutedEvent: {MenuItem.Click}
Source: {System.Windows.Controls.MenuItem 标题:考核人员查询 Items.Count:0}
{System.Windows.Controls.MenuItem 标题:考核人员查询 Items.Count:0}
base {System.Windows.Controls.HeaderedItemsControl}: {System.Windows.Controls.MenuItem 标题:考核人员查询 Items.Count:0}
Command: null
CommandParameter: null
CommandTarget: null
Icon: null
InputGestureText: ""
IsCheckable: false
IsChecked: false
IsHighlighted: false
IsPressed: false
IsSubmenuOpen: false
IsSuspendingPopupAnimation: false
Role: SubmenuItem
StaysOpenOnClick: false
>? e.OriginalSource
{System.Windows.Controls.MenuItem 标题:考核人员查询 Items.Count:0}
base {System.Windows.Controls.HeaderedItemsControl}: {System.Windows.Controls.MenuItem 标题:考核人员查询 Items.Count:0}
Command: null
CommandParameter: null
CommandTarget: null
Icon: null
InputGestureText: ""
IsCheckable: false
IsChecked: false
IsHighlighted: false
IsPressed: false
IsSubmenuOpen: false
IsSuspendingPopupAnimation: false
Role: SubmenuItem
StaysOpenOnClick: false
e.OriginalSource
e.Source
就是单击的菜单项吧,(e.Source as MenuItem).Header
再在需要的窗体注册事件
<Window.CommandBindings>
<CommandBinding Command="personSelect" CanExecute="personCanSelect"
Executed="personSelect" />
</Window.CommandBindings>
CanExecute 是操作事件的验证事件 Executed是人员查询对应的操作事件看看这个
<ContextMenu x:Key="CategoryMenu">
<MenuItem Header="Add Subcategory"
Command="New">
<MenuItem.Icon>
<Image Source="/Images/Add.png"
Width="16"
Height="16" />
</MenuItem.Icon>
</MenuItem>
</ContextMenu><Window.CommandBindings>
<CommandBinding Command="New"
Executed="AddCategory" />
</Window.CommandBindings>
菜单不严正操作就不用CanExecute了
<MenuItem Header="数据查询" Click="MenuItem_Click" Uid="MIDataSe">
<MenuItem Header="人员查询" FontSize="12" />
<MenuItem Header="员工表查询" FontSize="12" />
<MenuItem Header="干部表查询" FontSize="12"/>
</MenuItem>
</Menu> private void MenuItem_Click(object sender, RoutedEventArgs e)
{
this.Title = (e.Source as MenuItem).Header.ToString();
}