gpt4 book ai didi

c# - WPF 应用程序中的复合 ViewModel

转载 作者:太空狗 更新时间:2023-10-30 01:08:21 25 4
gpt4 key购买 nike

我遇到过以下情况:

我有 2 个 View 模型和一个 View ,其中包含 2 个 View 模型将绑定(bind)到的用户控件。第一个 VM 是一个返回人员列表的搜索功能,第二个 VM 是对每个人的更详细的描述。

我想做以下事情:

public CompositeVM
{
public SearchVM SearchViewModel{get;set;}
public DescriptionVM DescriptionViewModel{get;set;}
}

正如我所说,搜索 View 模型还包含一个找到的人的列表,所以我希望当我选择一个人时 DescriptionVM 也相应地更新。

我如何才能在 VM 之间实现这种类型的通信?我是否应该在 SearchVM 上设置一个 SelectedPerson 属性,并在所选列表项更改时将其传递给 DescriptionVM(对我来说耦合度很高)?有没有更简单的方法来解决这个问题?

最佳答案

CompositeVM 可以订阅 SearchViewModelPropertyChanged 事件并设置 DescriptionViewModel.SetSelectedPerson(SearchViewModel.SelectedPerson).

SearchVMDescriptionVM 之间没有耦合,因为它们彼此不知道。 CompositeVM 知道他们两个,并且谁负责他们的交互。

关于c# - WPF 应用程序中的复合 ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9665825/

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