gpt4 book ai didi

wpf - MVVM - Datagrid 行中的 View 模型?

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

我想写一个小程序来管理文章。pgm 应该在数据网格中显示文章列表。

可以是 500/1000 篇必须显示在网格中的文章。我是否应该像 josh smith 在他的示例中那样在数据网格行中使用 View 模型 http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

我在 joshs 示例中进行了一些测试。所以我拿了他的 customers.xml 文件并将其扩展到 800 个客户。-> 该应用程序需要一点(更多)时间来启动和关闭它(如果显示单击“显示所有客户”按钮)将需要几秒钟。那么对于使用 viewmodels 的系统来说应该是一个沉重的负担?有人可以向我解释使用 View 模型作为数据网格行而不是文章的优势吗?

什么是更好的方法?

public ObservableCollection<ArticleViewModel> AllArticle { get; private set; }

public ObservableCollection<Article> AllArticleraw { get; private set; }

最佳答案

是否将 ViewModel 用作 DataGrid 行实际上取决于每行必须具有多少功能。

如果网格是只读的,仅用于显示目的,并且底层数据不会更改,那么 ViewModels 可能对一行来说太过分了。

但是,如果您的用户可能与行交互,可能编辑行中的值,或者如果行中的值可能由于外部操作而更改,并且您希望这些更改自动反射(reflect)在网格中,那么你应该考虑 ViewModels。

请记住,ViewModel 只是服务于某个目的的对象的名称 - 它可以根据您的需要变得很重或很轻。例如,如果您希望您的行立即反射(reflect)网格中的更改,它可以是一个简单的 POCO,它具有每个行列的属性,然后实现 INotifyPropertyChanged 以在这些属性之一出现时通知网格值(value)观已经改变。

不要让 ViewModel 的重量级实现吓跑您远离 MVVM 的概念 - 在每个 ViewModel 中只实现您需要的功能。

关于wpf - MVVM - Datagrid 行中的 View 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15073231/

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