ListViewGroupCollection 方法擲回新的 InvalidOperationException

先前若在虛擬模式中,對 ListView 叫用 ListViewGroupCollection 方法,並已建立了 Handle,擲回 InvalidOperationException。 從 .NET 6 開始,這些 ListViewGroupCollection 方法現在只會檢查 ListView 是否處於虛擬模式。 若是,會擲回 InvalidOperationException,並附上描述更多的訊息。

先前的行為

請考慮使用下列程式碼,將 ListViewGroup 違新增至 ListView

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

listView.Groups.Add(group1);

此程式碼會產生 InvalidOperationException,並附上下列訊息:

當 ListView 處於虛擬模式時,您無法透過列舉程式或呼叫 GetEnumerator 來列舉收集到的所有 ListView 項目。 請改用 ListView 項目索引子,並使用索引值存取項目。

新的行為

來自先前的行為一節中的同一組程式碼,會產生 InvalidOperationException,並附上下列訊息:

當 ListView 處於虛擬模式時,您無法將群組新增至 ListView 群組集合。

變更類別

此變更會影響二進位相容性

變更原因

新的 InvalidOperationException 訊息一方面更容易理解, 一方面也不再允許開發人員在建立 Handle 之前,將 ListViewGroup 新增 ListView 的因應措施。

導入的版本

.NET 6 RC 2

受影響的 API