mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: ZuneUI.ListReleaseBehaviorManager
|
|
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
|
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
|
|
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
|
|
|
|
using Microsoft.Iris;
|
|
using MicrosoftZuneLibrary;
|
|
using System.Collections;
|
|
|
|
namespace ZuneUI
|
|
{
|
|
public class ListReleaseBehaviorManager
|
|
{
|
|
private LibraryVirtualList _virtualList;
|
|
private ReleaseBehavior _cachedBehavior;
|
|
|
|
public void KeepItemsInMemory(IList list)
|
|
{
|
|
if (list == null || list.Count <= 0)
|
|
return;
|
|
LibraryVirtualList owner = ((LibraryDataProviderListItem)list[0]).GetOwner();
|
|
if (owner.VisualReleaseBehavior != ReleaseBehavior.ReleaseReference)
|
|
return;
|
|
this._cachedBehavior = owner.VisualReleaseBehavior;
|
|
owner.VisualReleaseBehavior = ReleaseBehavior.KeepReference;
|
|
this._virtualList = owner;
|
|
}
|
|
|
|
public void RestoreDefaultBehavior()
|
|
{
|
|
if (this._virtualList == null)
|
|
return;
|
|
this._virtualList.VisualReleaseBehavior = this._cachedBehavior;
|
|
this._virtualList = null;
|
|
}
|
|
}
|
|
}
|