【发布时间】:2011-07-04 15:00:54
【问题描述】:
编辑:注意!原来这是我的代码中的一个错字
According to msdn ,Path.Data 似乎是可绑定的。但我不确定如何阅读 msdn 页面的依赖属性信息部分。 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 属性?在这两种情况下,画笔都是数据绑定的,所以我知道数据上下文设置正确。
【问题讨论】:
标签: c# .net wpf xaml data-binding