当 ItemsSource 设置时,Silverlight DataGrid 会进行第一个选择,如何将其关闭?

发布于 2024-09-16 08:01:08 字数 415 浏览 8 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

少跟Wǒ拽 2024-09-23 08:01:08

尝试将“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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文