gpt4 book ai didi

C#:WPF MVVM 命令绑定(bind)与事件回调

转载 作者:行者123 更新时间:2023-11-30 13:45:39 28 4
gpt4 key购买 nike

将 MVVM 用于 File->Exit 的关闭操作有什么意义。

当您可以简单地为 Click 事件创建事件回调时,创建关闭命令似乎需要做很多工作。对于像这样与数据或业务逻辑没有任何关系的事情,我不认为使用 MVVM 方法有什么意义。为什么不只使用以下内容:

xaml:

<MenuItem Header="_File" Background="WhiteSmoke">
<MenuItem Name ="Exit" Tag="Exit" Header="Exit" Click="Exit_Click"/>
</MenuItem>

代码隐藏:

private void Exit_Click(object sender, RoutedEventArgs e)
{
this.Close();
}

最佳答案

对于那个案例,你有一些争论。如果不出意外,关闭 View 很容易被解释为完全与 View 相关,因此从 Click 事件处理程序开始是有意义的。与 View 相关的代码在 View 中,而不是在 VM 中。

但是,我要质疑您认为 Command 很难设置的观点。使用 DelegateCommand:http://wpftutorial.net/DelegateCommand.html需要两行额外的代码:

public ICommand ExitCommand {get; private set;}

public MyViewModel()
{
ExitCommand = new DelegateCommand(ExitApp);
}

无论哪种方式,处理程序都是相同的。虽然 Exit 可能不需要命令,但一般来说,ICommand 是正确的方法,实际上并不难。

关于C#:WPF MVVM 命令绑定(bind)与事件回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28052343/

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