Я довольно новичок в реактивном интерфейсе. Я использую его в своем приложении для асинхронного программирования и т. Д.Связь между представлением и представлением модели с использованием ReactiveUI.NET
У меня есть вопрос. У меня есть метод в моей ViewModel, который является асинхронным и который «ждет» для выполнения задачи. По завершении этой задачи я хотел бы уведомить о своем представлении (UserControl), чтобы он мог динамически добавлять еще несколько контента/UserControls, например DockPanel.
Каков наилучший способ сделать это с помощью ReactiveUI или RX? Я мог бы использовать механизм событий C# и т. Д., Но я хочу продолжить путь RX. Я установил свойство boolena в моей виртуальной машине, когда метод async «завершил» (т. Е. Вернулся с ожиданием).
Я хочу наблюдать за этим логическим свойством (определенным в моей виртуальной машине) в моем «представлении» .. поэтому я могу прикрепить обработчик в моем «представлении», который будет динамически создавать некоторые UserControls, например.
this.viewModel.ObservableForProperty(x => x.DataLoaded)
.Subscribe(async _ => await this.MyViewHandler());
// this does not compile as the delegate is not IObserver type in my view it says
Любое руководство будет очень признательно, большое спасибо.
Спасибо Пол за ваш очень быстрый ответ. Спасибо за jnovo тоже. Думаю, он давал мне альтернативные способы делать вещи, используя Rx или TPL, но я скорее сделаю это ReactiveUI, если это возможно. Я думаю, что я попробовал что-то вроде WhenAnyValue из моего представления (которое получено из Usercontrol), но компилятору это не понравилось. поэтому код выше, будет ли это отображаться? – nDev
Да, это было бы в представлении - если компилятор ему не нравится, может быть, вам не хватает инструкции «using»? Или вы используете более старую версию RxUI? –
Привет, Пол, я уверен, что у меня есть инструкция «using» для ссылки на правильное пространство имен. Думаю, я использую ver 4.4.6. – nDev