我有一个ComboBox
看起来像这样的:
<ComboBox SelectedValue="{Binding Mode}" SelectedValuePath="Key" ItemsSource="{Binding MyModes}" DisplayMemberPath="Value" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding DataContext.SetModeCommand,RelativeSource={RelativeSource AncestorType=UserControl,Mode=FindAncestor}}" IsEnabled="{Binding IsForSet}" CommandParameter="{Binding}" ></i:InvokeCommandAction>
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>
SelectedValue 和 ItemsSource 绑定到模型中的变量。
命令:SetModeCommand
坐在 ViewModel 中。
我希望该命令在更改模型中的变量时不起作用,但仅在通过 UI 更改它时才起作用。
所以我创建了一个名为IsForSet
(bool) 的变量,当我通过模型更改变量时Mode
,我将其设置为 false :
IsForSetUM = false;
Mode = 202;
IsForSetUM = true;
我的问题是,一旦我更改了Mode
. 但只有在我将其更改IsForSetUM
为 true 之后。
我有办法解决这个问题!!
我的问题是为什么当我更改Mode
?