using System.Reactive.Disposables;
using Avalonia.Controls;
using Avalonia.Xaml.Interactivity;
namespace Avalonia.Xaml.Interactions.Custom;
///
/// A base class for behaviors using loaded event.
///
///
public abstract class LoadedBehavior : DisposingBehavior where T : Control
{
private CompositeDisposable? _disposables;
///
protected override void OnAttached(CompositeDisposable disposables)
{
_disposables = disposables;
}
///
protected override void OnLoaded()
{
OnLoaded(_disposables!);
}
///
/// Called after the is loaded.
///
/// The group of disposable resources that are disposed together
protected abstract void OnLoaded(CompositeDisposable disposable);
}