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">