Files
StructureHelper/Infrastructure/EventTriggerBase.cs
Nikolai Smirnov 2c4df04c5c Refactoring WIP
2022-07-08 11:38:25 +05:00

25 lines
691 B
C#

using System;
using System.Windows;
using EventTrigger = System.Windows.Interactivity.EventTrigger;
namespace StructureHelper.Infrastructure
{
public class EventTriggerBase<T> : EventTrigger where T : RoutedEventArgs
{
readonly Predicate<T> eventTriggerPredicate;
public EventTriggerBase(Predicate<T> eventTriggerPredicate)
{
this.eventTriggerPredicate = eventTriggerPredicate;
}
protected override void OnEvent(EventArgs eventArgs)
{
if (eventArgs is T e && eventTriggerPredicate(e))
{
base.OnEvent(eventArgs);
e.Handled = true;
}
}
}
}