Quantcast
Channel: Extended WPF Toolkit™ Community Edition
Viewing all articles
Browse latest Browse all 4964

Commented Issue: CheckListBox : filtering with ICollectionView loses SelectedItems [22136]

$
0
0
Based on discussion http://wpftoolkit.codeplex.com/discussions/649715
Comments: ** Comment from web user: BoucherS **

Hi,
Here's a workaround :
Register to selectionChanged event of CheckListBox to save the selectedItems :
```
List<object> saved = new List<object>();
....
_checkListBox.ItemSelectionChanged += _checkListBox_ItemSelectionChanged;
....

private void _checkListBox_ItemSelectionChanged( object sender, ItemSelectionChangedEventArgs e )
{
if( e.IsSelected && !saved.Contains( e.Item ) )
{
saved.Add( e.Item );
}
else if( !e.IsSelected && saved.Contains( e.Item ) )
{
saved.Remove( e.Item );
}
}
```

In the FilterString property, after doing a collectionView.refresh(), update the CheckListBox's SelectedItems :
```
public string FilterString
{
get
{
return _filterString;
}
set
{
_filterString = value;
RaisePropertyChanged( "FilterString" );

collectionView.Refresh();

for( int i = 0; i < saved.Count; ++i )
{
if( collectionView.Contains( saved[ i ] ) && !_checkListBox.SelectedItems.Contains( saved[ i ] ) )
{
_checkListBox.SelectedItems.Add( saved[ i ] );
}
}
}
}
private string _filterString;
```


Viewing all articles
Browse latest Browse all 4964

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>