绑定到Path.Data属性是否有效
本文关键字:是否 有效 属性 Data Path 绑定 | 更新日期: 2023-09-27 18:00:58
编辑:注意!这是我的代码中的一个拼写错误
根据msdn的说法,Path.Data似乎是可绑定的。但我不知道如何阅读msdn页面中的Depenedency Property Information部分。AffectsRender和AffectsMeasure够我用吗?
如果我使用x:Name直接指定它,几何体将显示
var curve = new GeometryGroup();
curve.Children.Add(new LineGeometry(new Point(0, 0), new Point(20, 20)));
curve.Children.Add(new LineGeometry(new Point(0, 20), new Point(20, 0)));
CurveGraph.Data = curve;
这很好用。画一个漂亮的"X"。
但是,如果我在ViewModel 中有GeometryGroup类型的依赖属性
var curve = new GeometryGroup();
curve.Children.Add(new LineGeometry(new Point(0, 0), new Point(20, 20)));
curve.Children.Add(new LineGeometry(new Point(0, 20), new Point(20, 0)));
GeometryData= curve;
dp:
public GeometryGroup GeometryData
{
get { return (GeometryGroup)GetValue(GeometryDataProperty); }
set { SetValue(GeometryDataProperty, value); }
}
public static readonly DependencyProperty GeometryDataProperty = DependencyProperty.Register("GeometryDataProperty", typeof(GeometryGroup), typeof(MiniTrendVm), new UIPropertyMetadata(new GeometryGroup()));
然后就没用了。什么也没发生。没有"X"。
xaml:
<Path Data="{Binding GeometryData}" x:Name="CurveGraph" Stroke = "{Binding StrokeColor}" StrokeThickness = "2" Grid.RowSpan="4"/>
这样行吗?我的手指胖了吗?或者不能以这种方式设置Data属性?笔刷在这两种情况下都是数据绑定的,所以我知道数据上下文设置正确。
您的DependencyProperty
注册为"GeometryDataProperty"
,应该是"GeometryData"
。不太确定这是否真的打破了束缚编辑:H.B.最近的测试表明,这可能确实是原因。可以绑定该属性。