第一次引发事件后,WPF ListView不会引发SelectionChanged事件

时间:2010-07-06 20:54:04

标签: c# wpf

我创建了一个原型应用程序,Listview以编程方式通过它的itemsource属性绑定到ObservableCollection。一直运行良好,直到前一天ListView在第一次引发事件后停止提升SelectionChanged事件。例如。在ListView中选择一行,引发SelectionChanged事件,无论你做什么,UI都会选择ListView中的第一行,然后任何选择行的尝试都对ListView完全没有影响,无论是选择单击的行还是,或举起活动。

到目前为止,我已经确定如果我从窗口中删除所有超级代码,它就无法解决问题。如果我将代码移植到新项目,它不能解决问题。 但是,如果我在新项目中手动重新实现相同的代码,问题就不会出现,但与Beyond Compare相比,代码似乎相同。

我还通过清除SelectionChanged事件处理程序中listview中的所有选择来解决问题,这似乎解决了这个问题,但这意味着行在Listview中永远不会显示为选中。

我现在已经结束了。

1 个答案:

答案 0 :(得分:0)

如果您正在使用具有值类型的重复项(也包括引用类型字符串),则在比较值时可能会出现此问题。您可以将项目包装在类中以显示项目不同。但我不知道为什么它在您创建的新应用程序中有效。也许你可以改变itemssource。