Wpf DataGridComboxColumn中的EventSetter引发NullReferenceException
我正在尝试将SelectionChanged绑定到下面代码中的命令Wpf DataGridComboxColumn中的EventSetter引发NullReferenceException,wpf,mvvm,datagrid,Wpf,Mvvm,Datagrid,我正在尝试将SelectionChanged绑定到下面代码中的命令 <EventSetter Event="SelectionChanged" Handler="{Binding MyCommand}" /> EventSetter希望您从codebehind文件(xaml.cs)中指示现有事件。它不适用于绑定。因此,在MainWindow.xaml.cs内创建相应的事件处理程序,并在EventSetter中指示它,或者使用来自Blend、MvvmLight的Interaction
<EventSetter Event="SelectionChanged" Handler="{Binding MyCommand}" />
EventSetter希望您从codebehind文件(xaml.cs)中指示现有事件。它不适用于绑定。因此,在MainWindow.xaml.cs内创建相应的事件处理程序,并在EventSetter中指示它,或者使用来自Blend、MvvmLight的Interaction.Triggers
<Window
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:command="http://www.galasoft.ch/mvvmlight" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<command:EventToCommand
Command="{Binding MyCommand}"
PassEventArgsToCommand="False" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Window>
谢谢。您能告诉我如何从MainWindow的代码中调用该命令吗?好的,您可以将this.DataContext强制转换为您的类型,并从您的ViewModel中调用该命令,如您所示。但这是一个糟糕的设计,正确的方法是使用EventToCommand。
<Window
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:command="http://www.galasoft.ch/mvvmlight" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<command:EventToCommand
Command="{Binding MyCommand}"
PassEventArgsToCommand="False" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Window>