This commit is contained in:
EugeneTes
2026-03-23 10:30:30 +01:00
parent ac0b298644
commit 34b74ecdcd
17 changed files with 42 additions and 14 deletions

View File

@@ -48,14 +48,24 @@
[CascadingParameter] private IMudDialogInstance MudDialog { get; set; } = null!;
[Parameter] public ErrorPreviewVM? ViewModel { get; set; }
private ErrorPreviewVM? _subscribedVm;
private bool _disposed;
protected override void OnParametersSet()
{
if (ViewModel != null)
ViewModel.PropertyChanged += OnPropertyChanged;
if (_subscribedVm != ViewModel)
{
if (_subscribedVm != null)
_subscribedVm.PropertyChanged -= OnPropertyChanged;
_subscribedVm = ViewModel;
if (ViewModel != null)
ViewModel.PropertyChanged += OnPropertyChanged;
}
}
private async void OnPropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (_disposed) return;
await InvokeAsync(StateHasChanged);
}
@@ -72,7 +82,8 @@
public void Dispose()
{
if (ViewModel != null)
ViewModel.PropertyChanged -= OnPropertyChanged;
_disposed = true;
if (_subscribedVm != null)
_subscribedVm.PropertyChanged -= OnPropertyChanged;
}
}