2010-10-25 95 views

回答

3
Command="{Binding SomeCommand}" 

這將使用當前控件的DataContext應該持有命令屬性 「SomeCommand

E.G.

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <ContextMenu x:Key="SomeContextMenu"> 
     <MenuItem Header="Test Item" Command="{Binding TestCommand}" /> 
    </ContextMenu> 
</ResourceDictionary> 

在我的ViewModel我將具有以下屬性

public ICommand TestCommand { get; set; } 

在我View.xaml

<Button ContextMenu="{StaticResource SomeContextMenu}">Test Button</Button> 

因此,按鈕的DataContext是我的ViewModel,因此SomeContextMenu這是在外部文件中的ResourceDictionary中綁定到與按鈕相同的DataContext,因此在ViewModel中找到SomeCommand。