0
我在silverlight應用程序中使用telerik Radgridview。在那裏,我將itemsource與observable集合綁定在一起。每當集合發生更改時,radgridview.ItemSource都會綁定到可觀察集合。 Everythings正常工作,但每當項目被添加到收集,它只是附加在網格中。我想在添加後對集合進行排序。有沒有簡單的解決辦法?在Radgridview中排序可觀察的集合
我在silverlight應用程序中使用telerik Radgridview。在那裏,我將itemsource與observable集合綁定在一起。每當集合發生更改時,radgridview.ItemSource都會綁定到可觀察集合。 Everythings正常工作,但每當項目被添加到收集,它只是附加在網格中。我想在添加後對集合進行排序。有沒有簡單的解決辦法?在Radgridview中排序可觀察的集合
取決於您的實現細節,但我認爲您應該可以在LINQ和CollectionChanged事件中使用OrderBy處理大部分情況。您只需重新訂閱該活動。下面是在快速測試中爲我工作的代碼:
public class BindingViewModel : ViewModelBase
{
public BindingViewModel()
{
Items = new ObservableCollection<int>();
Items.CollectionChanged += Items_CollectionChanged;
}
public void Add(int value)
{
Items.Add(value);
}
private void Items_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
Items = new ObservableCollection<int>(Items.OrderBy(x => x));
Items.CollectionChanged += Items_CollectionChanged;
}
private ObservableCollection<int> _items;
public ObservableCollection<int> Items
{
get { return _items; }
set
{
_items = value;
OnPropertyChanged("Items");
}
}
}