ビュー モデルで値を使用できるように、コントロールの読み取り専用プロパティをビュー モデルにバインドしたいと考えています。
これを行う最善の方法は何ですか?
ActualWidth
たとえば、ビュー モデルのプロパティにバインドしたいと思います。幅の値は、レイアウト ロジックを使用して WPF によって生成されるため、通常のようにビュー モデルでこの値を生成してコントロール プロパティにプッシュすることはできません。代わりに、WPF で値を生成してビュー モデルにプッシュする必要があります。
を使用するだけですMode=OneWayToSource
が、これは読み取り専用プロパティでは機能しません。
<Border
...
ActualWidth="{Binding MyDataModelWidth, Mode=OneWayToSource}"
>
... child controls ...
</Border>
私が現在行っている方法はSizeChanged
、境界線を処理することであり、コード ビハインドは値をビュー モデルにプラグインしますが、これはまったく正しくありません。
誰かがすでにこの問題を解決しましたか?
更新: 私の質問は事実上、この質問の複製です: Pushing read-only GUI properties back into ViewModel