public async ValueTask DisposeAsync() { if (_isDisposed) { return; } _isDisposed = true; try { _cts.Cancel(); } catch { } _cts.Dispose(); await Menu.DisposeAsync().ConfigureAwait(false); }