WPF 通过事件调用命令

标签 wpf events command

是否可以通过 WPF 中的事件调用命令?

我有一个保存按钮,按下时调用命令,当您完成编辑文本框时按下此按钮,它还传递一个对象作为命令参数

 <Button Content="Save"  Command="{Binding DataContext.SaveQueueTimeCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ItemsControl}}}" CommandParameter="{Binding}" />

理想情况下,我想做的是调用此命令并在文本框失去焦点时将对象作为参数传递,而不必按下按钮,例如:
 <Button LostFocus="{Binding SaveQueueTimeCommand}" />

并且仍然以某种方式将对象作为参数传递。
有没有一种方法可以在不使用代码的情况下实现这一点,因为我正在使用 MVVM 模式

谢谢你的时间

最佳答案

最简单的方法是使用交互触发器。

<Grid xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="SomeEvent">
            <i:InvokeCommandAction Command="{Binding Path=SomeCommand, Mode=OneWay}"/>
        </i:EventTrigger>
    </i:Interaction.Triggers>
</Grid>

为了后代,我添加了这个。

关于WPF 通过事件调用命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1048517/

相关文章:

c# - 使用 ReactiveUi 命令显示 Mahapps.Metro 对话框时遇到问题

javascript - Bing map v8 - 取消选择选定的图钉事件

Java 应用程序在命令提示符下执行命令

c# - 单独程序集中的 MVVM Light ViewModelLocator?设计时模式问题

c# - 扩展工具包 DatePicker 日历字体大小

wpf - 使用 GeometryDrawing WPF 创建按钮

java - 键绑定(bind)不适用于 JFrame

c++ - QInputDialog 操作取决于 ComboBox 中的项目选择

windows - 为什么我不能从命令提示符中删除 'INetCache' 文件夹的内容?

.net - 使用 MultiBinding 时将枚举值作为命令参数传递