1.6 KiB
ListBoxItem IsSelected binding issue with ObservableCollection<T>.Move
Scope
Minor
Version Introduced
4.5
Version Reverted
4.6
Source Analyzer Status
Planned
Change Description
Calling xref:System.Collections.ObjectModel.ObservableCollection`1.Move(System.Int32,System.Int32) or xref:System.Collections.ObjectModel.ObservableCollection`1.MoveItem(System.Int32,System.Int32) on a collection bound to a xref:System.Windows.Controls.ListBox?displayProperty=name with items selected can lead to erratic behavior with future selection or unselection of xref:System.Windows.Controls.ListBox?displayProperty=name items.
- Quirked
- Build-time break
Recommended Action
Calling xref:System.Collections.ObjectModel.Collection`1.Remove(`0)?displayProperty=name and xref:System.Collections.ObjectModel.Collection`1.Insert(System.Int32,`0)?displayProperty=name instead of xref:System.Collections.ObjectModel.ObservableCollection`1.Move(System.Int32,System.Int32) will work around this issue. Alternatively, this issue has been fixed in the .NET Framework 4.6 and may be addressed by upgrading to that version of the .NET Framework.
Affected APIs
M:System.Collections.ObjectModel.ObservableCollection`1.Move(System.Int32,System.Int32)
M:System.Collections.ObjectModel.ObservableCollection`1.MoveItem(System.Int32,System.Int32)
Category
Windows Presentation Foundation (WPF)