将KeyUp作为参数WPF命令绑定文本框传递

法语

我有一个文本框KeyUp事件触发器已连接到WPF中的命令。我需要传递作为命令参数按下的实际键。

该命令执行得很好,但是处理该命令的代码需要知道实际按下的键(请记住,它可以是Enter键,也可以是字母以外的任何东西,因此我无法从TextBox.text中获得它)。

无法弄清楚该怎么做。XAML:

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

XAML:

<TextBox Height="23" Name="TextBoxSelectionSearch" Width="148" Tag="Enter Selection Name" Text="{Binding Path=SelectionEditorFilter.SelectionNameFilter,UpdateSourceTrigger=PropertyChanged}" >
       <i:Interaction.Triggers>
          <i:EventTrigger EventName="KeyUp">
             <i:InvokeCommandAction Command="{Binding SelectionEditorSelectionNameFilterKeyUpCommand}" />
          </i:EventTrigger>
       </i:Interaction.Triggers>
</TextBox>
音乐的

我认为InvokeCommandAction是不可能的,但是您可以快速创建自己的Behavior外观,大致如下所示:

public class KeyUpWithArgsBehavior : Behavior<UIElement>
{
    public ICommand KeyUpCommand
    {
        get { return (ICommand)GetValue(KeyUpCommandProperty); }
        set { SetValue(KeyUpCommandProperty, value); }
    }

    public static readonly DependencyProperty KeyUpCommandProperty =
        DependencyProperty.Register("KeyUpCommand", typeof(ICommand), typeof(KeyUpWithArgsBehavior), new UIPropertyMetadata(null));


    protected override void OnAttached()
    {
        AssociatedObject.KeyUp += new KeyEventHandler(AssociatedObjectKeyUp);
        base.OnAttached();
    }

    protected override void OnDetaching()
    {
        AssociatedObject.KeyUp -= new KeyEventHandler(AssociatedObjectKeyUp);
        base.OnDetaching();
    }

    private void AssociatedObjectKeyUp(object sender, KeyEventArgs e)
    {
        if (KeyUpCommand != null)
        {
            KeyUpCommand.Execute(e.Key);
        }
    }
}

然后将其附加到TextBox

<TextBox Height="23" Name="TextBoxSelectionSearch" Width="148" Tag="Enter Selection Name" Text="{Binding Path=SelectionEditorFilter.SelectionNameFilter,UpdateSourceTrigger=PropertyChanged}" >
   <i:Interaction.Behaviors>
          <someNamespace:KeyUpWithArgsBehavior
                 KeyUpCommand="{Binding SelectionEditorSelectionNameFilterKeyUpCommand}" />
   </i:Interaction.Behaviors>
</TextBox>

仅此而已,您应该收到Key命令的参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将KeyUp作为参数WPF命令绑定文本框传递

来自分类Dev

是否可以将文本框作为参数传递?

来自分类Dev

将文本框控件作为参数传递

来自分类Dev

将文本框值绑定到WPF中的模型

来自分类Dev

从Datagrid(WPF)绑定文本框

来自分类Dev

在WPF中绑定文本框

来自分类Dev

将搜索框文本作为查询参数传递

来自分类Dev

更新文本框值后,WPF 将文本框绑定到列表视图停止

来自分类Dev

为什么绑定到文本框的命令无法在WPF中启动?

来自分类Dev

从我的命令绑定调用默认的 WPF 文本框粘贴处理程序

来自分类Dev

将文本框的文本属性绑定到MainWindow-WPF上定义的变量

来自分类Dev

WPF-将文本框文本绑定到类属性

来自分类Dev

将文本框绑定到属性

来自分类Dev

将文本框绑定到字典

来自分类Dev

将文本框绑定到属性

来自分类Dev

WPF MVVM中的绑定多重绑定文本框

来自分类Dev

在IE中将ac#文本框作为javascript参数传递(Chrome可以正常运行)

来自分类Dev

使用文本框中的值作为Access中传递查询中的参数

来自分类Dev

如何存储要作为查询参数传递给 getJson 请求的文本框值

来自分类Dev

如何在单击事件的jquery函数中将文本框值作为参数传递

来自分类Dev

在KeyUp或KeyDown之后,文本框将光标设置在末尾

来自分类Dev

WPF MVVM文本框文本绑定与changedText事件

来自分类Dev

绑定简单的WPF文本框文本双向

来自分类Dev

WPF MVVM文本框文本绑定与changedText事件

来自分类Dev

将文本框值传递给类,然后跨页面绑定值

来自分类Dev

使用JavaScript将值从dropdownlist(绑定到数据库)传递到文本框

来自分类Dev

WPF将滑块和文本框值绑定到静态int值

来自分类Dev

如何将文本框绑定到WPF中的类的字段?

来自分类Dev

C#WPF将字符添加到文本框而不进行绑定

Related 相关文章

  1. 1

    将KeyUp作为参数WPF命令绑定文本框传递

  2. 2

    是否可以将文本框作为参数传递?

  3. 3

    将文本框控件作为参数传递

  4. 4

    将文本框值绑定到WPF中的模型

  5. 5

    从Datagrid(WPF)绑定文本框

  6. 6

    在WPF中绑定文本框

  7. 7

    将搜索框文本作为查询参数传递

  8. 8

    更新文本框值后,WPF 将文本框绑定到列表视图停止

  9. 9

    为什么绑定到文本框的命令无法在WPF中启动?

  10. 10

    从我的命令绑定调用默认的 WPF 文本框粘贴处理程序

  11. 11

    将文本框的文本属性绑定到MainWindow-WPF上定义的变量

  12. 12

    WPF-将文本框文本绑定到类属性

  13. 13

    将文本框绑定到属性

  14. 14

    将文本框绑定到字典

  15. 15

    将文本框绑定到属性

  16. 16

    WPF MVVM中的绑定多重绑定文本框

  17. 17

    在IE中将ac#文本框作为javascript参数传递(Chrome可以正常运行)

  18. 18

    使用文本框中的值作为Access中传递查询中的参数

  19. 19

    如何存储要作为查询参数传递给 getJson 请求的文本框值

  20. 20

    如何在单击事件的jquery函数中将文本框值作为参数传递

  21. 21

    在KeyUp或KeyDown之后,文本框将光标设置在末尾

  22. 22

    WPF MVVM文本框文本绑定与changedText事件

  23. 23

    绑定简单的WPF文本框文本双向

  24. 24

    WPF MVVM文本框文本绑定与changedText事件

  25. 25

    将文本框值传递给类,然后跨页面绑定值

  26. 26

    使用JavaScript将值从dropdownlist(绑定到数据库)传递到文本框

  27. 27

    WPF将滑块和文本框值绑定到静态int值

  28. 28

    如何将文本框绑定到WPF中的类的字段?

  29. 29

    C#WPF将字符添加到文本框而不进行绑定

热门标签

归档