Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF等待绑定完成_C#_Wpf_Xaml_Binding - Fatal编程技术网

C# WPF等待绑定完成

C# WPF等待绑定完成,c#,wpf,xaml,binding,C#,Wpf,Xaml,Binding,我得到了以下XAML: <ng:Chart Palette="TheTreesPalette"> <ng:Chart.Diagrams> <Diagram Key="PersonnelHoursAWeek" For="{Binding}" Value="BarSeries3D" /> <Diagram Key="PersonId" For="{Binding}" Value="BarSeries3D" />

我得到了以下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>
我该怎么做才能得到一份房产申请表

顺便说一下,“已加载”的事件仍然没有绑定

再解释一下: 一个图表可以有多个条/线,For属性将数据集赋予一个条/线(在我的示例中称为diagram)。键是它的数据成员

绑定是对给定给视图的模型的绑定。但是绑定可以是“Binding Set1”和“Binding Set2”(我要显示的行的数据集)


绑定是100%正确的,我的图表将显示当我只需等待一秒钟绑定它的所有。因此,我希望第十八个图表通知图表它已被更改,或者可以添加事件的图表(Diagram.ForProperty.AddOwner-like构造)。

不确定您的图表DataContext设置为什么(这是子元素上的{Binding}将给您的)但是Diagrams集合及其成员不是元素,因此不会成为Wpf逻辑树的一部分,因此不会继承父图表DataContext。当您在调试中运行此命令时,我希望在输出窗口中看到绑定错误


我认为您基本上遇到了与此问题相同的问题:它为弥补Wpf逻辑树中的这一差距提供了解决方案。

绑定是正确的,我在初始问题中添加了一些额外的文本。鉴于图表和图表绑定到相同的DataContext,您可以执行Dispatcher.BeginInvoke()在图表DataContextChanged事件中-在激发子控件时,将具有其DataContext。但在我看来,当For属性更改时,您实际上希望图表项显式地调用Chart,如果是这样的话,也许您应该在代码中这样做;i、 e.在Diagram DataContextChanged事件中,找到父图表并调用一个方法来通知它刷新-或者执行一个自定义命令(如果您想以Wpf方式播放)。
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)
{
}