我有一个可编辑的组合框。
<ComboBox IsEditable="True">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand Command="{Binding CritereChangedCommand, Mode=OneWay}"/>
</i:EventTrigger>
<i:EventTrigger EventName="TextBoxBase.TextChanged">
<cmd:EventToCommand Command="{Binding CritereChangedCommand, Mode=OneWay}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>
我使用 GalaSoft.MvvmLight.Command.EventToCommand 来绑定 SelectionChanged 事件。
我也想绑定 TextChanged 事件,但有点棘手:该事件只能由 ComboBox TextBoxBase 属性访问,我找不到绑定该事件的正确方法。
您可以看到我的一次失败尝试:SelectionChanged 绑定工作正常,但 TextChanged 绑定不行。
我也试过这个语法:
<ComboBox IsEditable="True">
<TextBoxBase>
<i:Interaction.Triggers>
<i:EventTrigger EventName="TextChanged">
<cmd:EventToCommand Command="{Binding CritereChangedCommand, Mode=OneWay}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBoxBase>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand Command="{Binding CritereChangedCommand, Mode=OneWay}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>
但这甚至不会编译。我在 TextBoxBase 标记上收到错误“可以预期实例化的类型”。
任何想法 ?