拦截鼠标松开事件
ButtonMouseUpEvent.axaml代码
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="300" Width="300" x:Class="AvaloniaUI.ButtonMouseUpEvent" Title="ButtonMouseUpEvent"> <Grid Margin="5"> <Button Name="cmd" Click="ButtonClick" PointerReleased="NeverCalled">Click me.</Button> </Grid> </Window>
ButtonMouseUpEvent.axaml.cs代码
using Avalonia;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using System;
namespace AvaloniaUI;
public partial class ButtonMouseUpEvent : Window
{
public ButtonMouseUpEvent()
{
InitializeComponent();
cmd.AddHandler(Button.PointerReleasedEvent, Backdoor, handledEventsToo : true);
}
private void ButtonClick(object? sender, RoutedEventArgs e)
{
Console.WriteLine("The Button.Click event occurred. This may have been triggered with the keyboard.");
}
private void NeverCalled(object? sender, PointerReleasedEventArgs e)
{
Console.WriteLine("You didn't see this message. That would be impossible.");
}
private void Backdoor(object? sender, PointerReleasedEventArgs e)
{
Console.WriteLine("The (handled) Button.MouseUp event occurred.");
}
}
运行效果

浙公网安备 33010602011771号