Компонент не отображается после вызова StateHasChangedC#

Место общения программистов C#
Ответить
Anonymous
 Компонент не отображается после вызова StateHasChanged

Сообщение Anonymous »

Исходя из WPF, где вы обычно просто привязываетесь к свойству, которое обновляет представление, я хочу обновлять информацию в компоненте, когда у меня появляются новые данные.
Итак, у меня есть представление элемента, которое привязано к ViewModel и обновляется при обновлении модели.
Затем я подумал, что следует вызвать statehaschanged, чтобы через модель представления можно было получить доступ к данным модели. Но он никогда не обновляется.
Я проверил и подтвердил следующее:
  • Событие генерируется
  • CarPropertyChanged называется
  • StateHasChanged называется
  • Свойство viewModel вызывается и возвращает новое значение
Однако пользовательский интерфейс не обновляется
Кто-нибудь знает, в чем может быть причина?
@foreach (var car in CarVMs)
{

}

@code
{ [Parameter] public List CarVMs { get; set; }
Session currentlyDisplayedSession;

protected override void OnInitialized()
{
CarVMs = new List();
currentlyDisplayedSession = SessionManager.GetInstance().GetCurrentSession();

foreach (var car in currentlyDisplayedSession.Cars)
{
CarVMs.Add(new CarViewModel(car));
}
currentlyDisplayedSession = SessionManager.GetInstance().GetCurrentSession();
}

}




@CarVM.TimeStamp



@code {
[Parameter] public CarViewModel CarVM { get; set; }

protected override void OnInitialized()
{
CarVM.GetCar().PropertyChanged += CarOnPropertyChanged;
}

private async void CarOnPropertyChanged(object? sender, PropertyChangedEventArgs e)
{
await InvokeAsync(() => StateHasChanged());
}

}


Подробнее здесь: https://stackoverflow.com/questions/798 ... anged-call
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»