wpf - 在TextBox(MVVM)中挂接 key

标签 wpf mvvm binding triggers command

在没有代码隐藏的情况下挂接keydown事件有一点问题!
所以,我们有组合框

<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。
<TextBox Text={Binding SomeSource}></TextBox>

如何在TextBox上捕获keydown事件以选择(例如)ComboBox中的最后一个元素?我不能使用TextBox DataSource属性更改,因为需要将用户输入连接起来。

最佳答案

如果您不介意安装Expression Blend SDK,则应该可以在文本框中执行此操作

<i:Interaction.Triggers>
    <i:EventTrigger EventName="KeyUp">
        <i:InvokeCommandAction Command="{Binding Path=TheCommand}" />
    </i:EventTrigger>
</i:Interaction.Triggers>

在xaml中添加对System.Windows.Interactivity和以下 namespace 的引用后
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

链接到Expression SDK for 4.0

http://www.microsoft.com/en-us/download/details.aspx?id=10801

关于wpf - 在TextBox(MVVM)中挂接 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14842580/

相关文章:

wpf - 条件绑定(bind)属性不起作用?

c# - 与 UI 怪癖的两种方式绑定(bind)

c# - 如何在 WPF 应用程序中集成 Toast 通知?

c# - 在 XAML 中使用矩形作为剪辑

c# - 是否可以创建包含 WPF 库的 Mono 包?

.net - WPF 应用程序失去触摸功能

javascript - 如何获取从一个JS文件到viewModels的另一个JS以及主JS文件中存在的值?

c# - 如果其中一个 subview 的值在 Windows 8.1 应用程序中更新,如何更新父 ViewModel 中的值

.net - 如何使用“交互行为”在不同控件之间移动焦点?

ios - 具有状态和绑定(bind)的 ForEach NavigationLink