9

我需要编写一些要在 WPF-MVVM 中的 window_load() 期间执行的函数。每个按钮都有自己要执行的命令。而在 MVVM 模型中是否有任何可用于 window_load() 事件的命令?

4

1 回答 1

29

您将不得不使用交互来做到这一点,即在事件上调用命令。

<Window
    xmlns:intr="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 
>
    <intr:Interaction.Triggers>
        <intr:EventTrigger EventName="Loaded">
            <intr:InvokeCommandAction Command="{Binding WindowLoaded}"/>
        </intr:EventTrigger>
    </intr:Interaction.Triggers>
    <!-- the rest of your XAML here -->
</Window>

Window.Interactivity 命名空间有EventTrigger 和InvokeCommandAction。

不要忘记这WindowLoaded是一个属性。

public ICommand WindowLoaded { get; set; }

您稍后必须创建新的 RelayCommand/RoutedUICommand 才能实际接收回调。

谢谢

于 2013-09-03T13:51:22.547 回答