当 ItemsSource 设置时,Silverlight DataGrid 会进行第一个选择,如何将其关闭?
我正在使用 Silverlight 4 DataGrid 和 DataPager。
设置 DataGrid 的 ItemsSource 后,它会选择列表中的第一行。
PagedCollectionView _list = new PagedCollectionView(myDataCollection);
_dataPager.Source = _list;
_dataGrid.ItemsSource = _list;
问题是我有 _dataGrid.SelectionChanged 事件,我只想在用户更改选择时触发该事件。但它正在触发该事件,因为数据网格默认选择第一项。
我要么将事件切换为 leftMouseButtonDown,但这也效果不佳。有什么建议吗?
谢谢,
巫毒
I am using Silverlight 4 DataGrid with DataPager.
When the DataGrid's ItemsSource is set, it selects the first row in the list.
PagedCollectionView _list = new PagedCollectionView(myDataCollection);
_dataPager.Source = _list;
_dataGrid.ItemsSource = _list;
The problem is that I have _dataGrid.SelectionChanged
event, which I want to fire only when users makes a selection change. But it is firing that event because datagrid defaults select to the first item.
I would either switch the event to leftMouseButtonDown, but that also does not work very well. Any suggestions?
Thanks,
Voodoo
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试将“DataGrid.IsSynchronizedWithCurrentItem”设置为 false。我敢打赌这与此有关。由于您使用的是 CollectionView,DataGrid 中的所选项目将与 CollectionView 的 CurrentItem 同步,当 CollectionView 初始化时,它会自动设置为第一个项目。
Try setting "DataGrid.IsSynchronizedWithCurrentItem" to false. I bet it has something to do with this. Since you're using a CollectionView, the selected item in the DataGrid will be in sync with the CollectionView's CurrentItem, which automatically gets set to the first item when the CollectionView gets initialized.