Я только начинаю работать с ReactiveUI и работаю над небольшим приложением для рисования WPF.Используемая мной библиотека рисования (SkiaSharp) не поддерживает привязку изображения к элементу XAML, вместо этого вы вызываете метод InvalidateVisual элемента XAML, который запускает событие PaintSurface, на которое вы отвечаете, чтобы нарисовать изображение.
Итак, что я пытаюсь сделать, это наблюдать свойство модели представления, и при изменении свойства вызывать метод InvalidateVisual.
Я попытался WhenAnyValue наблюдать свойство модели представленияи Do, чтобы вызвать метод InvalidateVisual, настроив подписку в конструкторе представления, таким образом
this.WhenActivated(disposable =>
{
… // property bindings
this.WhenAnyValue(x => ViewModel.SomeProperty)
.Do(x => DrawingSpace.InvalidateVisual())
.Subscribe()
.DisposeWith(disposable);
});
Однако это выдает System.NotSupportedException Неподдерживаемый тип выражения «Константа»
Какой правильный способнастроить подписку в представлении, которое наблюдает за свойством модели представления и вызывает делегат при изменении свойства?