ListViewGroupCollection 方法会引发新的 InvalidOperationException 异常。

以前,如果在虚拟模式下对 InvalidOperationException 调用 ListViewGroupCollection 方法并且ListView已经创建了 ,则会引发 Handle。 从 .NET 6 开始,这些 ListViewGroupCollection 方法现在仅检查是否 ListView 处于虚拟模式。 如果是,则抛出一个带有更具描述性消息的InvalidOperationException

以前的行为

请考虑以下代码,该代码将ListViewGroup添加到ListView中:

ListViewGroup group1 = new ListViewGroup
{
    Header = "CollapsibleGroup1",
    CollapsedState = ListViewGroupCollapsedState.Expanded
};

listView.Groups.Add(group1);

此代码生成了以下 InvalidOperationException 消息:

当 ListView 处于虚拟模式时,无法使用枚举器枚举 ListView 项集合或调用 GetEnumerator。 请改用 ListView 项索引器,并按索引值访问项。

新行为

上一行为部分中的相同代码生成具有以下InvalidOperationException消息:

当 ListView 处于虚拟模式时,无法将组添加到 ListView 组集合。

更改类别

此更改会影响 二进制兼容性

更改原因

InvalidOperationException 消息更易于理解。 此外,它还关闭了一种解决方法,开发人员可以在创建 ListViewGroup 之前将 ListView 添加到 Handle

已引入的版本

.NET 6 RC 2

受影响的 API