12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using Avalonia.Input;
- using Avalonia.Interactivity;
- namespace Avalonia.Xaml.Interactions.Events;
- /// <summary>
- ///
- /// </summary>
- public abstract class KeyDownEventBehavior : InteractiveBehaviorBase
- {
- static KeyDownEventBehavior()
- {
- RoutingStrategiesProperty.OverrideMetadata<KeyDownEventBehavior>(
- new StyledPropertyMetadata<RoutingStrategies>(
- defaultValue: RoutingStrategies.Tunnel | RoutingStrategies.Bubble));
- }
- /// <inheritdoc />
- protected override void OnAttachedToVisualTree()
- {
- AssociatedObject?.AddHandler(InputElement.KeyDownEvent, KeyDown, RoutingStrategies);
- }
- /// <inheritdoc />
- protected override void OnDetachedFromVisualTree()
- {
- AssociatedObject?.RemoveHandler(InputElement.KeyDownEvent, KeyDown);
- }
- private void KeyDown(object? sender, KeyEventArgs e)
- {
- OnKeyDown(sender, e);
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- protected virtual void OnKeyDown(object? sender, KeyEventArgs e)
- {
- }
- }
|