0

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

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

在主菜单中有三个按钮,每个按钮处理三个类别之一。在子菜单中还有另外三个控件AddRemovePrint

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

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

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

4

1 回答 1

0

您是否尝试使用 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>
于 2012-09-08T14:40:40.793 回答