ScanService.cs 509 字节
using CommunityToolkit.Mvvm.Messaging;

namespace IndustrialControl.Services;

public record ScanMessage(string Data);

public class ScanService
{
    public void Publish(string data)
    {
        if (string.IsNullOrWhiteSpace(data)) return;
        MainThread.BeginInvokeOnMainThread(() =>
            WeakReferenceMessenger.Default.Send(new ScanMessage(data.Trim())));
    }

    public void Attach(Entry entry)
    {
        entry.Completed += (s, e) => Publish(((Entry)s!).Text ?? string.Empty);
    }
}