【Avalonia】Avalonia の ListBox をスワイプでスクロールさせる方法

Avalonia

Avalonia の ListBox は内部に ScrollViewer を含んでおり、 タッチ操作(スワイプ)でのスクロールはデフォルトで有効です。

もしスワイプが効かない場合のチェックポイント

ScrollViewer が無効化されていないか

xml

<ListBox ScrollViewer.VerticalScrollBarVisibility="Auto" />

Disabled になっているとスクロールできません。

RaspberryPiでスワイプ動作が効かない

OSレベルではタッチ動作を認識しているか確認する。

libinput debug-events

POINTER_MOTION と出る場合: ラズパイが「マウス」として認識しています。この状態ではAvaloniaはスクロールしてくれません。

TOUCH_DOWN / TOUCH_MOTION と出る場合: 正しく「タッチパネル」として認識されています。この場合はアプリ(Avalonia)の設定だけで解決します。

配置:自己完結・フレームワーク依存での動作確認

自己完結・フレームワーク依存に関係なくアプリケーションがタッチイベントをマウスイベントとして扱われる。

確認結果

現時点ではWaylondではタッチイベントがマウスイベントとして扱われるため、スワイプ動作が効かない。X11モードでは問題なくスワイプ動作します。

コメント