我在 MVVM 中有一个程序。在这个程序中,我有一个带有 DataGrid 的视图。在这个数据网格中,我必须显示如下内容:
用户标记一些单元格,在 MouseUp 之后,应该在这个选定的单元格上创建一个按钮。这里的第一个问题是,如何获得 Column 和 Row。它位于 SelectedCellsChanged-Event 参数中。在 WPF MVVM Light 的帮助下,我可以为我的 ViewModel 提供 Event 和 Arg,但是我的同事已经在 ViewModel 中的视觉元素方面遇到了问题(他在视觉树中遇到了错误)。而且我知道视觉元素不应该在虚拟机中。这里的任何人都可以给我一个方法来获得这个 Column and Row-Spawn 吗?
我的第二个问题是我无法想象如何在正确的单元格中创建按钮。如果我认为正确,是否可以为每个按钮(带有属性 StartRowSpawn、EndRowSpawn、StartColumnSpawn、EndColumnSpawn)或每个单元格构建一个新的 VM?
你能给我提示,如何解决这个问题?
我也想过网格。在 MouseDown 和 MouseUp 时获取位置,然后为此找到 Grid.Column 和 Grid.Row。
编辑
好的,我用接口解决了我的第一个问题,但我已经遇到了第二个问题。有人可以帮我吗?