es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  

Answer

  1. Avatar for 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.

Comments are closed.