Ash*_*vis 23 c# wpf xaml mvvm actualwidth
我想将控件的只读属性绑定到我的视图模型,以便该值在视图模型中可用.
这样做的最佳方式是什么?
例如,我想绑定ActualWidth到视图模型中的属性.宽度值由WPF使用其布局逻辑生成,因此我无法在视图模型中生成此值并将其推送到控件属性,这通常是这种情况.相反,我需要让WPF生成值并将其推送到视图模型.
我会使用Mode=OneWayToSource,但这不适用于只读属性:
<Border
...
ActualWidth="{Binding MyDataModelWidth, Mode=OneWayToSource}"
>
... child controls ...
</Border>
Run Code Online (Sandbox Code Playgroud)
我目前的做法是处理SizeChanged边框,代码隐藏将值插入视图模型,但这感觉不太对.
有人已经解决了这个问题吗?
更新:我的问题实际上是这个问题的重复:将 只读GUI属性推回到ViewModel
Gro*_*ozz -1
你真的需要绑定吗?
class MyVM
{
FrameworkElement _context;
public MyVM(FrameworkElement context)
{
_context = context;
}
public double Width
{
get { return _context.ActualWidth; }
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37105 次 |
| 最近记录: |