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