Wpf 在文本框(MVVM)中向下连接键
在没有代码隐藏的情况下连接keydown事件有点问题! 所以,我们有组合框Wpf 在文本框(MVVM)中向下连接键,wpf,mvvm,binding,triggers,command,Wpf,Mvvm,Binding,Triggers,Command,在没有代码隐藏的情况下连接keydown事件有点问题! 所以,我们有组合框 <ComboBox Height="20" Width="auto" ItemsSource="{Binding AlignComboItems}" SelectedValue="{Binding SelectedComboItem, Mode=TwoWay}" SelectedValuePath="Key"
<ComboBox Height="20" Width="auto"
ItemsSource="{Binding AlignComboItems}"
SelectedValue="{Binding SelectedComboItem, Mode=TwoWay}"
SelectedValuePath="Key" DisplayMemberPath="Value"
SelectedItem="{Binding SelectedItem}"
x:Name="cmbBoxAlign">
</ComboBox>
还有一些文本框
<TextBox Text={Binding SomeSource}></TextBox>
如何捕捉文本框上的keydown事件,以选择(例如)ComboBox中的最后一个元素?我无法使用文本框数据源属性更改,因为需要将用户输入挂起。如果希望每次文本框中有向下键时都在视图模型中激活代码,则需要稍微更改绑定:
<TextBox Text="{Binding SomeSource, UpdateSourceTrigger=PropertyChanged}"
此外,请确保在视图模型上设置了INotifyPropertyChanged。如果希望每次文本框中有一个向下键时都在视图模型中激活代码,则需要稍微更改绑定:
<TextBox Text="{Binding SomeSource, UpdateSourceTrigger=PropertyChanged}"
另外,确保在视图模型上设置了INotifyPropertyChanged。如果您不介意安装Expression Blend SDK,您应该可以在文本框中执行此操作
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyUp">
<i:InvokeCommandAction Command="{Binding Path=TheCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
链接到Expression SDK for 4.0
如果您不介意安装Expression Blend SDK,您应该可以在文本框中执行此操作
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyUp">
<i:InvokeCommandAction Command="{Binding Path=TheCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
链接到Expression SDK for 4.0
通过这种方式,它将一直在更改,即使数据源是通过编程而不是用户更改的!啊,我明白了,我不明白你的问题。是的,即使以编程方式更改了值,也会触发此命令。我需要在用户键入smth时触发此命令。这样,它将一直更改,即使数据源是以编程方式而不是由用户更改的!啊,我明白了,我不明白你的问题。是的,即使以编程方式更改值也会触发。我需要在用户键入smth时触发。此外,有很多MVVM框架都有自己的解决方案,如果有,您正在使用哪个?谢谢,我认为这是最简单的方法。此外,有很多MVVM框架都有自己的想法,如果有,你会用哪一个?谢谢,我认为这是最简单的方法。