【发布时间】:2016-10-25 08:52:23
【问题描述】:
我如何从 Xaml 运行异步方法(单击时),通常我使用这样的东西:
xmlns:ii="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:eii="http://schemas.microsoft.com/expression/2010/interactions"
<Button Height="30" Width="200" Content="Save" >
<ii:Interaction.Triggers>
<ii:EventTrigger EventName="Click">
<eii:CallMethodAction TargetObject="{Binding}" MethodName="Saveing"/>
</ii:EventTrigger>
</ii:Interaction.Triggers>
</Button>
保存方法:
public async Task Saveing(){...}
【问题讨论】:
-
按钮有点击,所以不需要这个交互触发器,你只需在事件处理程序中添加 async 关键字。
-
在 mvvm 应用程序中?
-
在这种情况下,按钮可以绑定到命令。然后命令有一个可以是异步的动作。您可以使用 Prism 或 MVVMLIGHT 之类的工具来使用它们的命令。
-
@P10trek MVVM 意味着后面的控件代码不应该说明它如何处理数据,有一个将指令传递给视图模型的事件是完全正确的