【发布时间】:2011-02-08 16:26:26
【问题描述】:
简而言之,我的问题是 WPF DataGrid 不允许我选择第一行以外的任何内容。当我第一次用数据填充它时,没有选择任何行。接下来,无论我点击哪一行,第一行都会亮起。当我使用 OneWayToSource 绑定 SelectedItem 属性时,我看到确实选择了 正确 行。如果我选择再次单击不同的行,则不会发生任何事情:UI 仍然停留在第一行,并且 SelectedItem 属性保留先前正确的值。此时,我必须按住 first 行来取消选择。这让我可以重复上面的情况。
换句话说: - UI 似乎与实际选择的内容不同步。 - 需要按住 Ctrl 键才能取消选择。 - 即使 SelectedItem 属性指示选择了不同的行,也必须在第一行上执行 Ctrl 键单击。
我知道这是一种奇怪的行为。我试图在一个单独的项目中复制它,但没有成功。因此,我只是把它扔在那里,看看是否有人知道它为什么会这样?
在我的单独项目中唯一没有重复的事情是使用 MEF 进行 View/ViewModel 连接。其他一切都一样。
编辑:我刚刚用 ListBox 替换了所说的 DataGrid,并且遇到了同样的问题。我正在使用 Snoop 来尝试找出可能会应用到控件上的哪些内容会极大地改变其行为。
【问题讨论】:
-
由于这显然取决于您的特定代码,如果您能提供所述代码将会很有帮助。
标签: c# wpf datagrid .net-4.0 wpfdatagrid