gpt4 book ai didi

wpf - 如何使用MVVM实现这样的应用程序

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

我想使用Datagrid(或列表)和MVVM模式实现某种地址簿/通讯录。

类似于Outlook/Thunderbird,其中显示的联系人列表带有2-3个主要字段(例如姓名),当您双击联系人时,您将获得一个新的模态框,其中显示所有此特定联系人的详细信息。

实际上,我的情况与管理客户,订单和产品的应用程序非常相似。作为主 View ,用户将通过3个选项卡显示3个数据网格,一个显示客户列表,一个显示订单,一个显示产品。
然后,在每个 View 中,可以添加(通过打开额外的对话框),删除(在特定条件下)对象。
每个对象与另一个对象都有关系。
例如,在一个Customer实例中,我有一个针对该客户的订单列表,对于每个Order,我都有一个订购的产品列表。

几个星期/几个月以来,我在网络上阅读了很多有关MVVM模式的内容,但是不知何故,我感到困惑。到目前为止,我可以找到任何这样的样本。 (也许我搜索错了吗?)

我想使用MVVM模式实现类似的功能。
我如何组织这样的应用程序?
有人可以帮忙,如何组织?
某处有 sample 吗?

事先感谢您的帮助。

弗雷德

最佳答案

1)This video帮助我了解了MVVM的基础知识。

2)在SO上搜索“MVVM Master Detail”。

3)“删除(在某些条件下)对象”:阅读有关命令和中继命令的信息:

private RelayCommand _delete;
public ICommand Delete
{
get
{
return _delete ?? (_delete = new RelayCommand(action => DoDelete(), condition => CanDelete));
}
}

private bool CanDelete
{
get { return true; // your condition }
}

4)“然后,在每个 View 中,您可以添加(通过打开额外的对话框)”
“每个对象与另一个对象都有关系”-您需要让其他ViewModel知道更改。典型的解决方案是使用Mediator模式。请引用以下文章:

http://sachabarber.net/?p=477

http://marlongrech.wordpress.com/2008/03/20/more-than-just-mvc-for-wpf/

http://blog.galasoft.ch/archive/2009/09/27/mvvm-light-toolkit-messenger-v2-beta.aspx

编辑:刚刚找到了另一个不错的,简单的MVVM示例,具有排序过滤和列表导航功能:

http://marlongrech.wordpress.com/2008/11/22/icollectionview-explained/

关于wpf - 如何使用MVVM实现这样的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4677871/

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