gpt4 book ai didi

c# - 在代码隐藏事件中调用 View 模型方法是否会破坏 MVVM?

转载 作者:可可西里 更新时间:2023-11-01 08:42:52 25 4
gpt4 key购买 nike

我想知道这是否会破坏 MVVM 模式,如果会,为什么会如此糟糕?

WPF:

<Button Click="Button_Click" />

代码隐藏:

private void Button_Click(object sender, RoutedEventArgs e)
{
ViewModel.CallMethod();
}

查看模型:

public void CallMethod()
{
// Some code
}

恕我直言,它使后台代码非常简单, View 模型仍然不知道 View 和后台代码,并且对 View 的更改不会影响业务逻辑。

在我看来,它比 CommandsCallMethodAction 更简单明了。

我不想要那种“这不是应该怎么做”的回答。我需要一个适当且合乎逻辑的理由来说明为什么这样做会导致维护或理解问题。

最佳答案

不,这非常好

处理用户输入并与 ViewModel 交互是 View 的工作。按钮单击事件处理程序调用 ViewModel 的方法作为响应,完全属于这个角色。

您发布的内容干净、可读、高效、可维护,并且完全符合 MVVM 设计模式的精神。

现在,从更一般的意义上说,您真正想问的是:“为什么选择 ICommands,而不是 MVVM 的事件处理程序?”好吧,你当然不会be | the | first .

关于c# - 在代码隐藏事件中调用 View 模型方法是否会破坏 MVVM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40160758/

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