Свойство обновления ReactiveUI MVVM из обработчика событийC#

Место общения программистов C#
Ответить
Anonymous
 Свойство обновления ReactiveUI MVVM из обработчика событий

Сообщение Anonymous »

Я создаю небольшое приложение MVVM, используя принципы DDD.
В моей ViewModel мне приходится обновлять некоторые свойства при каждом возникновении события.
Хотя моя ViewModel обновляет свойства, эти изменения не отражаются в пользовательском интерфейсе.
Вот моя (упрощенная) ViewModel:

Код: Выделить всё

public class DashboardViewModel : ReactiveObject, IAsyncHandle
{
private readonly IQueryHandler raceQueryHandler;

public DashboardViewModel(IQueryHandler raceQueryHandler)
{
this.raceQueryHandler = raceQueryHandler;

// Here the method updates the properties & UI is updated
SetRaceProperties();
}

[Reactive]
public string NumberOfRaces { get; set; }

[Reactive]
public string NumberOfFinishedRaces { get; set; }

[Reactive]
public string NumberOfPendingRaces { get; set; }

// Whenever a 'RaceCreatedEvent' has fired, this method is executed
public async Task HandleAsync(RaceCreatedEvent domainEvent)
{
// Here the method updates the properties, but the UI is NOT updated
await SetRaceProperties();
}

private async Task SetRaceProperties()
{
var data = await raceQueryHandler.HandleMultipleAsync(null);

this.NumberOfRaces = $"{data.Count()} aangemaakte races";
this.NumberOfPendingRaces = $"{data.Where(r => r != null && !r.Finished && !r.Started).Count()} races in afwachting";
this.NumberOfFinishedRaces = $"{data.Where(r => r != null && r.Finished).Count()} afgelopen races";
}
}
Когда SetRaceProperties вызывается из конструктора, свойства и пользовательский интерфейс обновляются.
Каждый раз, когда метод SetRaceProperties запускается из моего обработчика событий, обновляются свойства, но не пользовательский интерфейс.
Вот моя привязка представления: Я делаю что-то не так?
Заранее спасибо!
Ответить

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

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

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

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

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