是否可以通过 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/