【发布时间】:2019-04-20 12:05:42
【问题描述】:
我刚刚开始使用 ReactiveUI 并正在开发一个小型 WPF 绘图应用程序。我使用的绘图库 (SkiaSharp) 不支持将图像绑定到 XAML 元素,而是调用 XAML 元素的 InvalidateVisual 方法,该方法会触发您响应的 PaintSurface 事件以绘制图像。
所以我想要做的是观察视图模型的一个属性,并在属性更改时调用 InvalidateVisual 方法。
我已尝试通过 WhenAnyValue 观察视图模型的属性并通过在视图的构造函数中设置订阅来调用 InvalidateVisual 方法
this.WhenActivated(disposable =>
{
… // property bindings
this.WhenAnyValue(x => ViewModel.SomeProperty)
.Do(x => DrawingSpace.InvalidateVisual())
.Subscribe()
.DisposeWith(disposable);
});
但是这会引发 System.NotSupportedException Unsupported expression type 'Constant'
在观察视图模型属性并在属性更改时调用委托的视图中设置订阅的正确方法是什么?
【问题讨论】:
标签: reactiveui