РЕДАКТИРОВАТЬ: Примечание!Это оказалось опечаткой в моем коде
Согласно 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;
Это прекрасно работает.Рисует симпатичный «Х».
Однако, если у меня есть свойство зависимости типа GeometryGroup во ViewModel
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 таким образом?Кисть была привязана к данным в обоих случаях, поэтому я знаю, что текст данных правильно установлен.