【问题标题】:Invoking WPF command on IntegerUpDown (Extended WPF Toolkit)在 IntegerUpDown 上调用 WPF 命令(扩展 WPF 工具包)
【发布时间】:2023-03-22 08:33:01
【问题描述】:

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

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

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

请提出建议。

【问题讨论】:

    标签: wpf triggers command integerupdown


    【解决方案1】:

    找到一个属性 - UpdateValueOnEnterKey="True"。这不会在每个字符更改时调用更改的值,而只会在 Enterkey 按下时调用

    【讨论】:

      【解决方案2】:

      如果在每个 KeyStroke 上触发 ValueChanged,那么您的 Bindings UpdateSourceTrigger 可能设置为默认值 (ValueChanged)。首先将其设置为 LostFocus。此外,使用 EventTrigger 捕获 KeyDown 事件并检查按下的键是否为 Enter 键。 如果它是回车键,那么只需调用您的命令。

      编辑:如果您需要 Commit-On-Enter-scenarios 的可重用解决方案,请查看question

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多