2012-09-08 97 views
0

我知道我的帖子標題不是很好選,但我不知道如何描述我的問題。 好的回2主題:如何將一個子菜單「綁定」到主菜單上?

我的應用程序有三個菜單。其中兩人互相依賴。 在這個例子中我有三類:CarsTreesStudents

在MainMenu的有三個按鈕它們中的每處理三類之一。 在子菜單中還有三個其他控件:Add,RemovePrint

現在,如果我點擊Cars我希望應用程序激活子菜單中的所有三個按鈕,以便用戶能夠管理他/她的汽車。爲此,將會有一張包含所有現有數據的表格,但目前這並不重要。

我的問題是現在如何才能知道用戶按下了哪個類別的按鈕?只有一個子菜單,如果用戶點擊AddButton,應用程序必須知道應該添加一個新條目到哪個類別。

任何想法如何解決這個問題?

回答

0

你想使用3個不同的命令,但想知道它是從哪個類別中選擇的。

如果是這樣,那麼您可以使用CommandParameter來指示類別 - 當它們被調用時,命令參數數據將被傳遞到CanExecute()/Execute()

(忽略下面重複的ApplicationCommands.Cut ...我只是用它們來測試KAXAML ....只需用您定義的Add,Remove或Print命令替換它們即可)。

<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> 
相關問題