Я получил следующий XAML:
<ng:Chart Palette="TheTreesPalette">
<ng:Chart.Diagrams>
<Diagram Key="PersonnelHoursAWeek" For="{Binding}" Value="BarSeries3D" />
<Diagram Key="PersonId" For="{Binding}" Value="BarSeries3D" />
</ng:Chart.Diagrams>
</ng:Chart>
В коде:
- Диаграмма - это простой ContentControl.
- Диаграммы - это коллекция (и DependencyObject)и DependencyProperty из диаграммы
- Диаграмма - это объект DependencyObject в диаграммах
Моя диаграмма должна быть обновлена, когда диаграмма будет добавлена в список диаграмм.Используя DependencyProperty.Register, я зарегистрировал список «Диаграммы», но он не будет ожидать привязки (поэтому свойство For (для Diagram) будет пустым при прохождении «события»).
chart.cs:
public static readonly DependencyProperty DiagramsProperty = DependencyProperty.Register("Diagrams", typeof(SkillsNG.Application.Behaviors.DiagramCollection), typeof(Chart), new UIPropertyMetadata(null, FunctionToCall));
private static void FunctionToCall(DependencyObject @this, DependencyPropertyChangedEventArgs e)
{
}
Что можно сделать, чтобы получить заполненное свойство For?
Кстати, событие «Loaded» до сих пор не имеет привязки.
Чтобы объяснить немного больше: у диаграммы может быть несколько баров / линий, свойство For даст набор данных одной строке / строке (в моем примере это называется диаграммой).Ключ - это его DataMember.
Привязка - это привязка к модели, данной представлению.Но Binding может быть «Binding Set1» и «Binding Set2» (наборы данных для линий, которые я хочу отобразить).
Привязка верна на 100%, мой график будет отображаться, когда я просто подожду одну секунду, чтобысвязать все это.Поэтому я хочу, чтобы эта более легкая диаграмма уведомляла Chart о том, что она была изменена, или Chart, которая может добавить событие (конструкция, похожая на Diagram.ForProperty.AddOwner).