CommunityToolkit / CommunityToolkit/Windows

[SettingsExpander] Unhandled "Unspecified error" exception

Offen
#616 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C#
Sterne
1.1k
Forks
166
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

### Describe the bug

When using a `SettingsExpander` that is bound to an `ObservableCollection` in a page that is not cached (`NavigationCacheMode="Disabled"`) and this page is repeatedly opened (and old instances of the page have been garbage collected), the app crashes once an item of that `ObservableCollection` is removed.

### Steps to reproduce
Download and run this test project : [Test.zip](https://github.com/user-attachments/files/18602524/Test.zip)

### Expected behavior

No crash.
When adding `NavigationCacheMode="Required"` to `Page2`, the crash is not happening

### Code Platform

- [x] WinAppSDK / WinUI 3

### Windows Build Number

- [x] Windows 11 21H2 (Build 22000)

### App minimum and target SDK version

- [x] Windows 10, version 1809 (Build 17763)

### Visual Studio Version

2022

### Help us help you

No, I'm unable to contribute a solution.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Lade das verknüpfte Test.zip-Projekt herunter und führe es aus. Reproduziere dann den Absturz, indem du wiederholt die nicht zwischengespeicherte Seite öffnest und ein Element aus ihrer ObservableCollection entfernst. Beginne damit, das SettingsExpander-Binding und den Seitenlebenszyklus rund um Page2 und NavigationCacheMode nachzuverfolgen. Als erledigt gilt die Aufgabe, wenn das Entfernen eines Elements nicht mehr abstürzt, nachdem alte Seiteninstanzen garbage collected wurden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
frontend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.