C# 在MVVM中挂起并恢复事件处理

C# 在MVVM中挂起并恢复事件处理,c#,.net,wpf,xaml,mvvm,C#,.net,Wpf,Xaml,Mvvm,在组合框中,我使用ICommand通过EventTriggers在SelectionChanged事件发生时执行代码: <ComboBox ItemsSource="{Binding DataItems}" DisplayMemberPath="Name" SelectedItem="{Binding SelectedDataItem}"> <i:Interaction.Triggers> <i:EventTrigger EventName=

在组合框中,我使用
ICommand
通过
EventTriggers
SelectionChanged
事件发生时执行代码:

<ComboBox ItemsSource="{Binding DataItems}" DisplayMemberPath="Name" SelectedItem="{Binding SelectedDataItem}">
   <i:Interaction.Triggers>
         <i:EventTrigger EventName="SelectionChanged">
               <i:InvokeCommandAction Command="{Binding Command}" />
         </i:EventTrigger>
   </i:Interaction.Triggers>
</ComboBox>

如何在MVVM中挂起并恢复GUI事件处理?

只需输入一个标志
private bool manuallyupdateingselectedid=false
,然后在更改项目之前将其设置为true,在
选择更改
中检查是否为true,然后继续执行。
private void SomeMethod()
{
    //SUSPEND SelectionChanged event handling here

    SelectedDataItem = new DataItem();

    //RESUME SelectionChanged here
}