2012-07-31 86 views
0

我有一個上下文菜單,它具有綁定項目,我想設置一個命令和命令參數,因此我知道哪個項目被點擊過,但我不知道如何。如何獲取上下文菜單中的選定項目

<MenuItem Command="{Binding Sync}" 
    Header="Synchronize" 
    ItemsSource="{Binding ItemsToSync}"> 
    <MenuItem.Icon> 
     <Image Height="25" Source="Sync.png" /> 
    </MenuItem.Icon> 
</MenuItem> 

回答

3

你可以嘗試這樣的事情: 在這個例子中,我有一個列表視圖,我可以右擊並刪除選定的項目。我在這裏使用RelativeSource的原因是因爲當涉及到在菜單項中傳遞參數時,在這個級別的大部分時間你無法到達頁面的datacontext。希望這可以幫助。

   <ListView.ContextMenu> 
        <ContextMenu> 
         <MenuItem Header="Delete" Command="{Binding Path=DeleteDescriptions}" CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=ContextMenu}, Path=PlacementTarget.SelectedItem}" Name="MenuItem1"> 
         </MenuItem> 
        </ContextMenu> 
       </ListView.ContextMenu> 
+0

非常感謝,完美的工作 – AndrewJE 2016-07-26 10:56:40

1

這沒有幫助,但我能夠創建我自己的解決方案。我不得不爲這個命令創建一個靜態類。

+0

當你可以自己找到解決方案時總是最好的。爲什麼你必須爲你的命令做一個靜態類? – TMan 2012-07-31 15:49:55

+0

雖然不太確定,但我會保持更新,我計劃在下一步中擺脫這種情況。 – 2012-07-31 15:54:19

相關問題