gpt4 book ai didi

wpf - 使用 WPF MVVM 模式打开新窗口的最佳实践

转载 作者:行者123 更新时间:2023-12-03 00:06:47 24 4
gpt4 key购买 nike

我想知道这个问题有一段时间了...从另一个 View 模型打开新窗口( View 和 View 模型)的最佳实践是什么,如果我们记住打开新窗口的 View 模型不知道该 View 的存在(应该如此)。

谢谢。

最佳答案

我更喜欢使用通过 ViewModel 构造函数插入的操作委托(delegate)。这也意味着我们可以在单元测试期间轻松验证:

public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
DataContext = new MainViewModel(() => (new Window()).Show()); // would be actual window
}
}

public class MainViewModel
{
private Action popupAction;
public MainViewModel(Action popupAction)
{
this.popupAction = popupAction;
}

public ICommand PopupCommand { get; set; }

public void PopupCommandAction()
{
popupAction();
}
}

public class SomeUnitTest
{
public void TestVM()
{
var vm = new MainViewModel(() => { });
}
}

关于wpf - 使用 WPF MVVM 模式打开新窗口的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4266223/

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