gpt4 book ai didi

c# - 从 View 到 ViewModel 的 WPF 事件绑定(bind)?

转载 作者:IT王子 更新时间:2023-10-29 04:40:46 24 4
gpt4 key购买 nike

将 View 中的 WPF 事件绑定(bind)到 ViewModel 的最佳方法是什么?

我的 View 中有一个 drop 事件,但我想将其替换为 ViewModel 由于绑定(bind)。

找到了几个解决方案,但没有一个达到我预期的效果。

查看代码:

    <TextBox 
AllowDrop="True"
PreviewDrop="email_Drop" />

最佳答案

在 MVVM 和 XAML 中处理事件的一种方法是使用 Blend Interactivity 功能。此命名空间包含 InvokeCommandAction 和 CallMethodAction 类。

InvokeCommandAction 允许您将任何事件绑定(bind)到 View 模型命令,而 CallMethodAction 允许您将任何事件绑定(bind)到 View 模型方法。

例如,如果您想将 Button 的 DoubleClick 事件绑定(bind)到 View 模型命令,您可以这样做:

<Button>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction Command="{Binding Path=DoSomethingCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>

并声明这个命名空间:

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

您需要在项目中引用它的是安装 Expression Blend 或 Expression Blend SDK。

关于c# - 从 View 到 ViewModel 的 WPF 事件绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7877532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com