У меня есть наблюдаемая коллекция с некоторыми элементами.PagedCollectionView утечка памяти Silverlight 4
/// <summary>
/// The <see cref="Items" /> property's name.
/// </summary>
public const string ItemsPropertyName = "Items";
private ObservableCollection<SomeItem> _items = new ObservableCollection<BrandItem>();
/// <summary>
/// Gets the Items property.
/// </summary>
public ObservableCollection<SomeItem> Items
{
get
{
return _items;
}
set
{
if (_items == value)
{
return;
}
_items = value;
// Update bindings, no broadcast
RaisePropertyChanged(ItemsPropertyName);
}
}
, а также pagedCollectionView потому что я должен сгруппировать элементы в DataGrid
public const string ItemGroupedPropertyName = "ItemGrouped";
private PagedCollectionView _itemsGrouped;
/// <summary>
/// Gets the ItemSpecificationsGrouped property.
/// </summary>
public PagedCollectionView ItemSpecificationsGrouped
{
get { return _itemsGrouped; }
set
{
if (_itemsGrouped == value)
{
return;
}
_itemsGrouped = value;
// Update bindings, no broadcast
RaisePropertyChanged(ItemGroupedPropertyName);
}
}
#endregion
в ViewModel конструктору Я установил
ItemGrouped = new PagedCollectionView(Items);
ItemGrouped.GroupDescriptions.Add(new PropertyGroupDescription("GroupName"));
и вид на есть DataGrid, которые связываются ItemsGrouped
<data:DataGrid ItemsSource="{Binding ItemsGrouped}" AutoGenerateColumns="False">
<data:DataGrid.Columns >
<data:DataGridTextColumn IsReadOnly="True"
Binding="{Binding ItemAttribut1}" Width="*"/>
<data:DataGridTextColumn IsReadOnly="True"
Binding="{Binding Attribute2}" Width="*" />
</data:DataGrid.Columns>
</data:DataGrid>
, когда я меняю элементы в элементах (очищаю и добавляю новые) после многих раз у меня происходит утечка памяти. Когда я удаляю ItemsSource, все в порядке. Поэтому я знаю, что PagedCollectionView вызывает утечку памяти, но я не знаю почему. Любая идея, пожалуйста? Или другое решение для групповых элементов внутри datagrid некоторым свойством в коллекции .. Спасибо!
Вы должны очистить существующие коллекции и снова добавить элементы в коллекции, а не использовать новые коллекции каждый раз. – Jehof