ListView に表示したい > 500,000,000 行のグリッド シナリオがあります。
ListView を人為的に制限して 100,000,000 を表示する場合:
_listView.VirtualListSize = _data.Count;
if (_listView.VirtualListSize > 100000000)
_listView.VirtualListSize = 100000000;
すべて正常に動作します (VirtualMode では自然に)。コードを次のように変更すると:
_listView.VirtualListSize = _data.Count;
if (_listView.VirtualListSize > 100000001)
_listView.VirtualListSize = 100000001;
ListView に空のグリッドが表示される... これは Microsoft のバグですか? これはどこから来たのですか?これは Win32 ListView の制限ですか? 最も重要なのは、なぜこれが文書化されていないのですか?