繁体   English   中英

在 WPF 中重用具有不同 ViewModel 的视图

[英]Reuse View with different ViewModel in WPF

我正在学习如何制作 WPF 应用程序,方法是制作一个工具来帮助我玩《龙与地下城》。 基本上它是一个物品数据库,我还可以通过在“宝物表”上“滚动”来生成战利品列表,这让我可以依次滚动“物品表”。

我已经完成了项目数据库查看器和 window 的制作,您可以在其中 select 项目表,在数据网格中查看其内容并添加、编辑和删除项目表。

我现在需要为宝藏表做同样的事情。 它需要与 Item Table 编辑器非常相似,以至于我想知道是否不能重用它,提供 TreasureTableVM 而不是 ItemTableVM。 根据将哪个 VM 设置为 Window 的 DataContext,视图会做些许不同的事情,包括在数据网格中显示不同的某些列。

TreasureTableVM 和 ItemTableVM 具有相同的方法和属性,但实现方式略有不同。 还有几个属性有不同的类型(currentTable 是 TreasureTableVM 中的 TreasureTable,ItemTableVM 中的 ItemTable。CurrentRow 是一个中的 TreasureTableRow,另一个中的 ItemTableRow。TableList 是一个中的 ObservableCollection,另一个中的 ObsevableCollection)

我怎么会 go 呢?

您可以使用同一个表,只需在数据上下文中添加一个名为“type”的新字段,值为“treasure”或“item”。 然后在您的虚拟机上按类型过滤数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM