maui
maui copied to clipboard
25421- ListViewRenderer Crash in HostApp and BindingError was occured in windows platforms
RootCause
ListViewRenderer Crash on HostApp
As the HostApp uses a ListView to display a list of items, selecting a page navigates to the corresponding test cases and sets the sample page as the current main page. This action disposes the HostApp's main page, which contains the ListView. As a result, the previous list is also disposed, leading to a crash in the ListViewRenderer during the OnControlSelectionChanged event.
BindingErrors occurs on windows platform
In the HostApp, the pages private field of the ListView is set as the BindingContext of the ListView, which is causing the issue. The pages field is directly assigned to the ItemsSource, so there's no need to set the BindingContext. The problem arises because the same collection is being used for both the BindingContext and the ItemsSource, which is the root cause of the issue.
Description of Change
ListViewRenderer Crash on HostApp
The ListView events are unwired, and resources are cleaned up in the DisconnectHandlerCore method of the ListView renderer, ensuring all events are properly disconnected.
BindingErrors occurs on windows platform
There is no need to define the BindingContext.
Issues Fixed
Fixes #25421
@dotnet-policy-service agree
/azp run
Azure Pipelines could not run because the pipeline triggers exclude this branch/path.
/rebase
/rebase
/rebase
/azp run
Azure Pipelines could not run because the pipeline triggers exclude this branch/path.
https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=10441841&view=results https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=10441761&view=results https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=10441842&view=results