gpt4 book ai didi

MVVM:删除一个 CustomerViewModel,但如何获取其中的 Customer 模型?

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

我在 ComboBox 中有一个 CustomerViewModels 列表。我要删除的选定 CustomerViewModel 以及包含在其中的 Customer 以将其从存储库中删除。

但是如何访问 CustomerViewModel 中的 Customer 模型呢?

最佳答案

只是一个建议,让您的客户 View 模型集合成为客户 View 模型的 ObserableCollection。
这给您带来的是一个 CollectionChanged 事件,您可以使用委托(delegate)监听该事件以了解对集合的更改(即删除),因此您可以从那里相应地操作您的模型

http://msdn.microsoft.com/en-us/library/ms653375(VS.85).aspx

也许像

public class CustomersViewModel: ViewModelBase
{
public ObservableCollection<CustomersViewModel> Customers { get; private set; }

public CustomersViewModel()
{
Customers = new ObservableCollection<CustomersViewModel>(GetCustomers());
Customers.CollectionChanged +=
(sender, args) =>
{
if (args.Action == NotifyCollectionChangedAction.Remove)
{
foreach (CustomerViewModel customerViewModel in args.NewItems)
{
DeleteCustomer(customerViewModel.Customer);
}
}
};
}

private void DeleteCustomer(Customer customer)
{
// Call into your repo and delete the customer.
}

private List<CustomersViewModel> GetCustomers()
{
// Call into your model and return customers.
}

... ICommands ect...

}

关于MVVM:删除一个 CustomerViewModel,但如何获取其中的 Customer 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2740500/

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