代码之家  ›  专栏  ›  技术社区  ›  AbSharp

在IntegerUpDown(扩展WPF工具包)上调用WPF命令

  •  0
  • AbSharp  · 技术社区  · 6 年前

    我在WPF应用程序中使用mvvm模式和integerupdown按钮。
    要调用当前命令,我使用ValueChanged触发器,如下所示-

        <i:Interaction.Triggers>
             <i:EventTrigger EventName="ValueChanged">
                   <i:InvokeCommandAction Command="{Binding PercentChangedCommand}" />
             </i:EventTrigger>
        </i:Interaction.Triggers>
    

    当用户使用鼠标单击向上或向下箭头来更改值时,这种方法非常有效。
    问题是,当用户想要输入textbox时,会为输入的每个字符触发事件。相反,我希望允许用户键入数字,并仅在按Enter键时触发命令。

    请建议。

    2 回复  |  直到 6 年前
        1
  •  0
  •   Sancho Panza    6 年前

    如果每次击键时都触发ValueChanged,则绑定 UpdateSourceTrigger 很可能设置为默认值(ValueChanged)。首先将其设置为LostFocus。另外,使用EventTrigger捕捉KeyDown事件,并检查按下的键是否为Enter键。 如果是回车键,则只需调用您的命令。

    编辑:如果您需要一个可重用的解决方案,用于输入时提交场景,请查看以下内容 question .

        2
  •  0
  •   AbSharp    6 年前

    找到一个属性-UpdateValueOnEnterKey=“True”。这不会在每次字符更改时调用更改的值,但仅在按Enter键时调用