确保以下事项正确:
将 RelayCommand 公开为表示 sub_control 的 DataContext 的对象的属性。这可能是您的 ViewModel,更常见的是您绑定到其集合的实体类的实例。确保将其公开并提供 get 和 set 方法。
public RelayCommand MyCommand { get; set; }
确保命令设置为新实例
MyCommand = new RelayCommand(() =>
{
// Do something
});
最后在你的视图中设置绑定
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:command="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.SL4"
...
<Button Content="Click Me">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<command:EventToCommand Command="{Binding MyCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>