MVVM View事件Viewmodel命令绑定

use*_*486 3 prism mvvm commandbinding viewmodel

我正在寻找一个关于如何使用 Prism 实现事件聚合器的好(读:简单)示例。我从未使用过 Prism,而且对 MVVM 本身也很陌生。

我有一个 WPF 画布作为视图,我想在 Viewmodel 中处理画布上的 MouseUp 事件。现在我们组织的权力希望我使用 Prism,显然 Prism 建议使用事件聚合器,这就是为什么我需要一个示例来开始。

bli*_*eis 5

为此,您所需要的只是来自 MVVMLight 或 System.Windows.Interactivity (Blend SDK) 的 EventToCommand 行为。我建议您使用 MVVMLight 版本,因为它有一些有用的特色:)

<Canvas>
<i:Interaction.Triggers>
    <i:EventTrigger EventName="MouseUp" >
        <i:InvokeCommandAction Command="{Binding YourMouseUpViewModelCommand}" />
    </i:EventTrigger>
</i:Interaction.Triggers>
</Canvas>
Run Code Online (Sandbox Code Playgroud)

Prism i 的 EventAggregator 主要用于解耦 Viewmodel 到 Viewmodel 通信。