总之,我的问题是WPF DataGrid不会让我选择除第一行以外的任何内容。当我第一次填写数据时,没有选择行。接下来,无论我点击哪一行,第一行都会亮起。当我使用OneWayToSource绑定SelectedItem属性时,我发现确实选择了正确的行。如果我选择再次点击另一行,则不会发生任何事情:界面仍停留在第一行,SelectedItem属性保留以前正确的值。在这一点上,我必须按住ctrl-点击第一行行才能取消选择。这使我可以重复上述情况。WPF DataGrid无法更改所选行:卡在第一行
换句话说: - 用户界面似乎与实际选择的内容不同步。 - 需要按住Ctrl键来取消选择。 - 即使SelectedItem属性指示选择了不同的行,也必须在第一行执行Ctrl-单击操作。
我明白这是奇怪的行为。我试图在一个单独的项目中复制它,但没有成功。因此,我只是把它扔在那里,看看有没有人有任何想法,为什么它可能会这样做?
我在单独项目中没有重复的唯一事情是使用MEF作为View/ViewModel连接。其他一切都是一样的。
编辑:我刚刚用一个ListBox替换了所说的DataGrid,并且遇到了同样的问题。我使用Snoop来试图找出可能应用于控件的内容,这会改变它的行为。
由于这显然取决于您的具体代码,如果您可以提供上述代码将是有帮助的。 – 2011-02-08 16:31:24