投稿者 kojiro  (社会人) 投稿日時 2024/5/4 14:46:21

namespace MauiTouch2;

public class class1
{
    public PointF? pos { get; set; }
}

public partial class MainPage : ContentPage
{
    private class1? test = null;

    public MainPage()
    {
        InitializeComponent();
    }

    private async void OnStartInteraction(object sender, TouchEventArgs evt)
    {
        PointF firstPoint = evt.Touches.FirstOrDefault();
        string msg = $"Touch/click at {firstPoint}";
        Text.Text = msg;
        await this.drawable.OnTouchAsync(this.graph, firstPoint, CancellationToken.None);
    }
}

public class HitItem
{
    public PointF pos { get; set; }
    public float radius { get; set; }
}

public class GraphicsDrawable : IDrawable
{
    public List<HitItem> HitItems { get; } = new List<HitItem>();     //<= ここ
    public async Task OnTouchAsync(IGraphicsView view, PointF point, CancellationToken token)
    {
        HitItem c = new HitItem();
        c.pos = point;
        c.radius = 0;

        lock (this.HitItems)
        {
            this.HitItems.Add(c);
        }