每当重绘面板时,我目前正在对 valueconverter 中的数据进行一些重新缩放。我想将其中的一些处理移至视图模型,因为大部分处理仅在控件大小或其他一些属性发生变化时发生。
为了确保重新缩放的数据看起来可以接受,我需要ActualWidth
viewmodel 中的容器。我想以一种方式将它绑定到视图模型的属性,这样当它发生变化时,我可以触发重新缩放处理。
我能找到的所有示例都将 CLR 或依赖属性绑定到一个元素,而不是其他方式,我显然在理解中遗漏了一些东西来弄清楚我应该如何做。我已经尝试了一些不同的方法来设置绑定,但只是没有做对。
有什么提示吗?谢谢。
在 MyView XAML 中:
<myItemsControl/>
在后面的 MyView 代码中,类似于:
Binding b = new Binding(MyWidthProperty);
b.Mode = BindingMode.OneWay;
b.Source = myItemsControl.Name;
.........?
和
public static readonly DependencyProperty MyWidthProperty =
DependencyProperty.Register( "MyWidth", typeof(Double), typeof(MyViewModel));
在 MyViewModel 中:
public Double MyWidth{
get { return _myWidth; }
set { _myWidth = value; ViewChanged(this); } }