Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何";绑定";主菜单的子菜单?_C#_Wpf_Controls - Fatal编程技术网

C# 如何";绑定";主菜单的子菜单?

C# 如何";绑定";主菜单的子菜单?,c#,wpf,controls,C#,Wpf,Controls,我知道我的线程标题选择得不是很好,但我不知道如何描述我的问题。 确定返回2主题: 我的应用程序有三个菜单。其中两个相互依赖。 在这个例子中,我有三个类别:汽车,树和学生 在主菜单中有三个按钮,每个按钮处理三个类别中的一个。 在子菜单中还有三个控件:添加、删除和打印 现在,如果我单击Cars,我希望应用程序激活子菜单中的所有三个按钮,以便用户能够管理他/她的汽车。 因此,将有一个包含所有现有数据的表,但目前这并不重要 我现在的问题是如何知道用户按下了哪个类别按钮?只有一个子菜单,如果用户点击Add

我知道我的线程标题选择得不是很好,但我不知道如何描述我的问题。 确定返回2主题:

我的应用程序有三个菜单。其中两个相互依赖。 在这个例子中,我有三个类别:
汽车
学生

在主菜单中有三个按钮,每个按钮处理三个类别中的一个。 在子菜单中还有三个控件:
添加
删除
打印

现在,如果我单击
Cars
,我希望应用程序激活子菜单中的所有三个按钮,以便用户能够管理他/她的汽车。 因此,将有一个包含所有现有数据的表,但目前这并不重要

我现在的问题是如何知道用户按下了哪个类别按钮?只有一个子菜单,如果用户点击
Add
-按钮,应用程序必须知道应该向哪个类别添加新条目


你知道如何解决这个问题吗?

你正在尝试使用3个不同的命令,但想知道它是从哪个类别中选择的

如果是这样,则可以使用CommandParameter来指示类别-调用时,命令参数数据将被传递到
CanExecute()
/
Execute()

(忽略重复的ApplicationCommands.Cut如下…我使用它们只是为了在KAXAML中进行测试…只需将其替换为您定义的添加、删除或打印命令即可)


<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Menu>
       <MenuItem Header="Cars">
        <MenuItem Header="Add" Command="ApplicationCommands.Cut" CommandParameter="Cars"/>
        <MenuItem Header="Remove" Command="ApplicationCommands.Cut" CommandParameter="Cars"/>
        <MenuItem Header="Print" Command="ApplicationCommands.Cut" CommandParameter="Cars"/>
      </MenuItem>
       <MenuItem Header="Trees">
        <MenuItem Header="Add" Command="ApplicationCommands.Cut" CommandParameter="Trees"/>
        <MenuItem Header="Remove" Command="ApplicationCommands.Cut" CommandParameter="Trees"/>
        <MenuItem Header="Print" Command="ApplicationCommands.Cut" CommandParameter="Trees"/>
      </MenuItem>
       <MenuItem Header="Students">
        <MenuItem Header="Add" Command="ApplicationCommands.Cut" CommandParameter="Students"/>
        <MenuItem Header="Remove" Command="ApplicationCommands.Cut" CommandParameter="Students"/>
        <MenuItem Header="Print" Command="ApplicationCommands.Cut" CommandParameter="Students"/>
      </MenuItem>
  </Menu>
</Page>