CommunityToolkit / CommunityToolkit/Windows
[SettingsExpander] Unhandled "Unspecified error" exception
- 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
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