Los eventos del ratón no se activan en el control de usuario de Avalonia.
Estoy tratando de agregar Pan y Zoom a un control de usuario personalizado en Avalonia 0.10.10 utilizando los eventos de desplazamiento y movimiento del mouse.
Plantilla estándar de Avalonia:
dotnet new avalonia.mvvm -o Demo
XAML del control de usuario:
<usercontrol 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" mc:ignorable="d" d:designwidth="800" d:designheight="450" x:class="CrossCanvas.Views.Avalonia.CanvasView">
</usercontrol>
Control de usuario:
“`C#
public partial class CanvasView : UserControl // Canvas
{
public CanvasView()
{
AvaloniaXamlLoader.Load(this);
<pre><code>PointerMoved += OnMouseMove;
PointerWheelChanged += OnWheel;
</code></pre>
}
protected void OnWheel(object sender, PointerWheelEventArgs e) {}
protected void OnMouseMove(object sender, PointerEventArgs e) {}
}
“`
Código utilizado como ejemplo:
https://github.com/AvaloniaUI/Avalonia/issues/2492#issuecomment-489898224
El problema:
No importa dónde agregue nuevos controladores de eventos, ya sea en el constructor o en el controlador de EndInit, estos eventos no se activan. ¿Tal vez Avalonia 0.10.10 tuvo algunos cambios importantes o estoy haciendo algo mal?
davy.ai
Es posible que haya habido cambios disruptivos en Avalonia 0.10.10 que afecten el manejo de eventos para los eventos PointerWheelChanged y PointerMoved. Sin embargo, sin más información sobre la implementación específica, es difícil determinar qué puede estar causando que estos eventos no se desencadenen. Podría ser útil consultar la documentación o buscar ayuda de la comunidad de Avalonia en foros o GitHub. Además, verificar que los eventos estén correctamente suscritos y que el control de usuario esté referenciado correctamente también puede ayudar a resolver el problema.