gpt4 book ai didi

wpf - 如何使用 MVVM 从 WPF 对话框中获取值

转载 作者:行者123 更新时间:2023-12-03 10:52:36 26 4
gpt4 key购买 nike

从使用 MVVM 模式创建的 WPF 对话框中获取值的最佳方法是什么。我当前的代码涉及获取 ViewModel 并从中获取适当变量的额外步骤。我想避免这一步,因为这似乎有些无关紧要。

private void OpenDataSeriesWindow()
{
var addVehicle = new AddResultsSeries();

addVehicle.ShowDialog();

AddResultsSeriesViewModel tempViewModel = (AddResultsSeriesViewModel)addVehicle.DataContext;
PlotVariables.Add(tempViewModel.NewSelectedVariable);
}

最佳答案

我通常是这样处理的:

  • 想要显示对话框的 ViewModel 为特定对话框构造了 CustomDialogViewModel。它还可以使用初始参数设置 ViewModel。
  • View 提供了一个显示对话框的界面。例如,如果我有一个 CustomViewModel,CustomWindow 将实现 ICustomView,它被注入(inject)到 CustomViewModel 的构造函数中。 ICustomView 将提供一个方法 ShowCustomDialog(CustomDialogViewModel dialogViewModel) .
  • ViewModel 在 View 接口(interface)上调用 ShowDialog 方法。当调用返回时,它可以使用 DialogViewModel 上的属性来查看结果。

  • 这使 ViewModel 与特定的 View 实现很好地分离,并允许您在单元测试时注入(inject)模拟 IView。这使您可以编写测试来感知对话框已使用预期参数打开并相应地提供结果。

    关于wpf - 如何使用 MVVM 从 WPF 对话框中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6049643/

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