【发布时间】:2011-06-29 12:09:17
【问题描述】:
我得到了以下 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>
在代码中:
- Chart 是一个普通的 ContentControl。
- Diagrams 是 Chart 中的一个集合(和 DependencyObject)和 DependencyProperty
- Diagram 是 Diagrams 中的一个 DependencyObject
将图表添加到图表列表时,需要更新我的图表。通过使用 DependencyProperty.Register,我已经注册了“图表”列表,但它不会等待绑定(因此当“事件”通过时,(图表的)For 属性为空)。
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 属性会将数据集提供给一个条/线(在我的示例中称为图表)。 Key是它的DataMember。
绑定是对给定视图的模型的绑定。但 Binding 可以是“Binding Set1”和“Binding Set2”(我要显示的行的数据集)。
绑定是 100% 正确的,当我等待一秒钟将其全部绑定时,我的图表将显示。所以我希望那个八卦图通知图表它已经被改变了,或者图表可以添加一个事件(Diagram.ForProperty.AddOwner 之类的构造)。
【问题讨论】: