CheckBox: IsCheckedChanged is thrown when the BindingContext of the CheckBox is updated.
Currently IsCheckedChanged command is raised when the BindingContext of the CheckBox is updated and this is a change in the behavior compared to previous releases.
Posted on:23 Mar 2020 11:06
After more thorough investigation, we believe that the current behavior is correct and expected in both general and virtualized scenario. I will explain it in more details below:
In the general scenario the current implementation is correct, because:
1) IsCheckedChanged command is called when the BindingContext is changed and its IsChecked value is different from the previous IsChecked value;
2) IsCheckedChanged is NOT called when the BindingContext is changed and its IsChecked value is the same as the previous IsChecked value;
In the general case, when IsChecked of a RadCheckBox is changed (regardless how), its IsCheckedChanged command should be called.
In the virtualized scenario, when a container (part of a virtualized ItemsControl), that contains a RadCheckBox, is reused, and the BindingContext with new data item for the container changes the state of the RadCheckBox, it is expected that the IsCheckedChanged command is called. This behavior is consistent with XamarinForms CheckBox in XamarinForms ListView (with CachingStrategy=RecycleElement. By default CachingStrategy=RetainElement).
Having this in mind, I've updated the status of this item to "Declined". If you come across such a scenario, please send us a support ticket with detailed information on it, so we could research for a workaround.
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Feedback Portal
and vote to affect the priority of the items