using System.Reactive.Disposables;
using Avalonia.Controls;
using Avalonia.Controls.Primitives;
namespace Avalonia.Xaml.Interactions.Custom;
///
///
///
public abstract class SelectingItemsControlEventsBehavior : DisposingBehavior
{
///
protected override void OnAttached(CompositeDisposable disposables)
{
if (AssociatedObject is not { } selectingItemsControl)
{
return;
}
selectingItemsControl.SelectionChanged += SelectingItemsControlOnSelectionChanged;
disposables.Add(
Disposable.Create(
() => selectingItemsControl.SelectionChanged -= SelectingItemsControlOnSelectionChanged));
}
private void SelectingItemsControlOnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
OnSelectionChanged(sender, e);
}
///
///
///
///
///
protected virtual void OnSelectionChanged(object? sender, SelectionChangedEventArgs e)
{
}
}