A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

24 lines
681 B

using Avalonia.Utilities;
namespace Avalonia.Rendering.Composition.Server;
partial class ServerCompositionCacheMode
{
private readonly WeakHashList<ServerCompositionVisual> _attachedVisuals = new();
public void Subscribe(ServerCompositionVisual visual) => _attachedVisuals.Add(visual);
public void Unsubscribe(ServerCompositionVisual visual) => _attachedVisuals.Remove(visual);
protected override void ValuesInvalidated()
{
using var alive = _attachedVisuals.GetAlive();
if (alive != null)
{
foreach (var v in alive.Span)
v.OnCacheModeStateChanged();
}
base.ValuesInvalidated();
}
}