@inject NavigationManager NavigationManager @implements IDisposable
@code { private string? currentLocalPath; protected override void OnInitialized() { currentLocalPath = new Uri(NavigationManager.Uri).LocalPath; NavigationManager.LocationChanged += OnLocationChanged; } private void OnLocationChanged(object? sender, LocationChangedEventArgs e) { currentLocalPath = new Uri(NavigationManager.Uri).LocalPath; InvokeAsync(StateHasChanged); } private string? MenuItemCssClass(string itemPath) { return string.Equals(currentLocalPath, itemPath, StringComparison.OrdinalIgnoreCase) ? "menu-item-active" : null; } public void Dispose() { NavigationManager.LocationChanged -= OnLocationChanged; } }