DataGrid 中的 SelectedIndex。滚动期间值 -1
SelectedIndex in DataGrid. Value -1 during scrolling
我有一个带有滚动条的数据网格。
Grid 被放入 StackPanel 中,其高度使得 DataGrid 的 6 行可见。
每一行都有一个包含不同数量项目的组合框。如果 dataGrid 中的行数多于 8,则在使用滚动时,当鼠标位于 DataGrid 上方时,SelectedIndex 变为 -1。对于不同的 ComboBox 位置,这会随机发生。
只有超过8行才会出现这种情况
我可以按以下方式阻止,降到 0 以下,但这不是断开连接。这会导致其他问题。
public int SelectedIndex
{
get { return _SelectedIndex; }
set
{
_SelectedIndex = (value >= 0) ? value : 0;
Console.WriteLine("SelectedIdx: " + value);
//_SelectedIndex = value;
OnPropertyChanged("");
}
}
谁有类似问题可以见面吗?
问题:
- 面板虚拟化
解决方案:
<DataGrid VirtualizingPanel.IsVirtualizing="False">
我有一个带有滚动条的数据网格。
Grid 被放入 StackPanel 中,其高度使得 DataGrid 的 6 行可见。
每一行都有一个包含不同数量项目的组合框。如果 dataGrid 中的行数多于 8,则在使用滚动时,当鼠标位于 DataGrid 上方时,SelectedIndex 变为 -1。对于不同的 ComboBox 位置,这会随机发生。
只有超过8行才会出现这种情况
我可以按以下方式阻止,降到 0 以下,但这不是断开连接。这会导致其他问题。
public int SelectedIndex
{
get { return _SelectedIndex; }
set
{
_SelectedIndex = (value >= 0) ? value : 0;
Console.WriteLine("SelectedIdx: " + value);
//_SelectedIndex = value;
OnPropertyChanged("");
}
}
谁有类似问题可以见面吗?
问题:
- 面板虚拟化
解决方案:
<DataGrid VirtualizingPanel.IsVirtualizing="False">