我正在使用Wpf Toolkit DataGrid.每当我的ItemsSource分配给它,它的第一项得到选择及其SelectionChanged事件被调用.如何在默认情况下阻止它选择任何行?
HCL*_*HCL 38
检查您是否已设置IsSynchronizedWithCurrentItem="True"并且要求设置相同?
<DataGrid IsSynchronizedWithCurrentItem="True" ...
Run Code Online (Sandbox Code Playgroud)
将此属性设置为true,第一项的选择是默认行为.
Val*_*tin 11
有可能您的DataGrid绑定到具有CurrentItem属性的PagedCollectionView之类的集合.此属性在两个方向上与所选行自动同步.解决方案是将CurrentItem设置为null.你可以这样做:
PagedCollectionView pcv = new PagedCollectionView(collection);
pcv.MoveCurrentTo(null);
dataGrid.ItemsSource = pcv;
Run Code Online (Sandbox Code Playgroud)
这在Silverlight中特别有用,它没有DataGrid.IsSynchronizedWithCurrentItem属性......
小智 7
HCL 的答案是正确的,但对于像我这样快速而松散的读者来说,这被证明是令人困惑的,我最终花了更多的时间四处调查其他事情,然后才回到这里仔细阅读。
<DataGrid IsSynchronizedWithCurrentItem="False" ...
Run Code Online (Sandbox Code Playgroud)
是我们感兴趣的部分,而不是它的对手!
添加我自己的一些值:该属性IsSynchronizedWithCurrentItem=True意味着网格CurrentItem将与集合的当前项目同步。这里的设置IsSynchronizedWithCurrentItem=False就是我们想要的。
对于 Xceed 的 Datagrid 用户(例如我在本例中),这将是SynchronizeCurrent=False
| 归档时间: |
|
| 查看次数: |
13768 次 |
| 最近记录: |