gpt4 book ai didi

c# - 在 MVVM 中组织命令和 View 模型

转载 作者:行者123 更新时间:2023-12-03 10:38:07 24 4
gpt4 key购买 nike

目前我的项目中有 2 个 ViewModel。 MainViewModel 当前绑定(bind)到我的 WPF 窗口,因此我在其他 ViewModel (AdventurerViewModel) 中有一个不再触发的命令。有没有办法在没有绑定(bind) ViewModel 的情况下触发该命令,或者我的所有命令都需要在 MainViewModel 中?有没有一种组织命令的好方法可以帮助我避免将来出现这种情况?任何建议将不胜感激。

编辑:一些代码

从我的 XAML

按钮 Grid.Column="3"Grid.Row="1"Content="IncreaseLevel"Command="{Binding increaseLevel}"

AdventurerViewModel.cs

public ICommand IncreaseLevel { get { return new RelayCommand(IncreaseLevelExecute, CanIncreaseLevelExecute); } }

private bool CanIncreaseLevelExecute()
{
return true;
}

private void IncreaseLevelExecute()
{
Level++;
}

最佳答案

首先确保正确拆分 ViewModel 并将命令放在正确的 ViewModel 中。

之后,您可能仍然希望通知其他 ViewModel 当前 ViewModel 中的更改。在这种情况下,您可以查看 ViewModel 之间的消息传递系统,以便 ViewModel 可以订阅特定事件并对其做出响应。

关于c# - 在 MVVM 中组织命令和 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16824452/

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