0

我在 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。

编辑

好的,我用接口解决了我的第一个问题,但我已经遇到了第二个问题。有人可以帮我吗?

4

1 回答 1

0

我会重新考虑你为什么需要这样做(或者你可以解释更多为什么需要这样的按钮)。当我需要更改数据网格中的数据设计时,我所做的是使用备用数据模板或数据网格行的详细数据模板来更改信息的格式,然后您可以使用相同的视图模型。您可以将列跨度绑定到视图模型中的属性,但如果您希望按钮数量是动态的,这会变得很困难。

于 2013-09-23T15:39:40.177 回答