WPF使用命令和事件处理程序

时间:2014-05-03 09:47:28

标签: c# wpf data-binding mvvm event-handling

我有一个保存按钮,我想使用MVVM设计模式,但是我需要在保存完成后关闭窗口,我在网上看了一下,看到这是很多工作,所以我决定在后面的代码上创建window.close(),并在视图模型上创建所有保存逻辑。

如何使用命令绑定和事件处理程序实现按钮?

2 个答案:

答案 0 :(得分:0)

查看this answer对我来说效果很好。您可以将窗口本身作为命令参数传递,然后在viewmodel中使用它来关闭它。

该答案的相关XAML:

Command="{Binding CloseWindowCommand, Mode=OneWay}" 
CommandParameter="{Binding ElementName=TestWindow}"

来自相同答案的相关ViewModel命令处理程序:

private void CloseWindow(Window window)
{
    if (window != null)
    {
       window.Close();
    }
}

您显然还需要公开要绑定的命令,在本例中称为CloseWindowCommand

答案 1 :(得分:0)

只需在按钮xaml中定义两个,如下所示:

<Button Command="{Binding SaveCommand}" Click="Button_click"/>