c# - 尝试排序时 DataGrid 数据消失
问题描述
我有一个从 List<List<>> 接收其绑定的数据网格,该绑定运行良好并且所有数据都显示。
出于某种原因,当单击标题进行排序或滚动滚轮时,所有数据突然消失。
这是一些代码:
XAML 中的网格:
<Window.Resources>
<CollectionViewSource x:Key="ItemCollectionViewSource" CollectionViewType="ListCollectionView"/>
</Window.Resources>
<DataGrid x:Name="DataGrid" ItemsSource="{Binding}" AutoGenerateColumns="False" DataContext="{StaticResource ItemCollectionViewSource}" AlternatingRowBackground="LightGray" Grid.Column="1" Grid.Row="1" Height ="auto" Width="auto" FontSize="10" FontWeight="SemiBold" FontFamily="Segoe UI" Margin="5" BorderThickness="0" Background="AliceBlue" IsReadOnly="True" VerticalScrollBarVisibility="Auto">
数据绑定:
CollectionViewSource itemCollectionViewSource;
itemCollectionViewSource = (CollectionViewSource)(FindResource("ItemCollectionViewSource"));
itemCollectionViewSource.Source = GetterSetter.CMinfo;
更新:我设法解决了滚轮问题:需要将 EnableRowVirtualization 设置为“False”
解决方案
所以我弄清楚我的问题是什么,我的数据网格显示在一个新窗口上,在窗口启动后,我从我正在采购的列表中清除了数据(为了在进行新搜索时没有重复的行),而不是在方法开始时这样做。
它使我的网格从一个空的列表中获取(即使它在新窗口中显示得很好)。
我刚刚将 Clear() 方法移到方法的开头,现在一切正常。
推荐阅读
- azure-timeseries-insights - Time Series Insight AutoRest 错误:插件模型验证器报告失败
- java - Graphviz 绘制的图有不必要的边缘交叉
- django - 使用 Django + Docker 在 VScode 中丢失代码导航
- javascript - HTML:我应该将样式放在内部元素还是周围的 div 元素上?
- java - Glassfish 5.1 无法添加资源
- c# - 用于创建通讯组列表的 Outlook 加载项(实时和桌面)
- javascript - 从动态生成的下拉菜单中删除一个选项
- python - Pandas 从列中获取唯一值,并且仅有效地获取最新日期
- obfuscar - asp.net core 3.1 的混淆器
- python-3.x - 调用位于另一个类的方法中的变量(Tkinter)