我想将控件的只读属性绑定到我的视图模型,以便该值在视图模型中可用。
这样做的最佳方法是什么?
例如,我想绑定ActualWidth
到我的视图模型中的一个属性。宽度值是由 WPF 使用其布局逻辑生成的,因此我无法在我的视图模型中生成此值并将其推送到控件属性,这通常是这种情况。相反,我需要让 WPF 生成值并将其推送到视图模型。
我只会使用Mode=OneWayToSource
,但这不适用于只读属性:
<Border
...
ActualWidth="{Binding MyDataModelWidth, Mode=OneWayToSource}"
>
... child controls ...
</Border>
我目前这样做的方式是处理SizeChanged
边框,并且代码隐藏将值插入视图模型,但这感觉不太正确。
有没有人已经解决了这个问题?
更新:我的问题实际上是这个问题的副本:将 只读 GUI 属性推回 ViewModel