在图表控件中为系列提供他的相关窗格



我在尝试为该系列提供他的尊重窗格时遇到了问题。这三个系列将出现在同一个窗格中。当您使用SeriesItemTemplateSelector时,是否需要以不同的方式执行此操作?

错误:找不到引用"元素名称=窗格 2"的绑定源。绑定表达式:(无路径(;数据项=空;目标元素是"AreaSeries2D"(Name=''(;目标属性为"窗格"(类型为"对象"(

<dxc:ChartControl Background="{StaticResource ControlsPrincipalColor}" BorderBrush="{StaticResource ControlsPrincipalColor}">  
<dxc:ChartControl.DataContext>  
<vm:ChartViewModel/>  
</dxc:ChartControl.DataContext>  
<dxc:XYDiagram2D Margin="-68,0,-68,0" EnableAxisXNavigation="True" Background="Transparent">  
<dxc:XYDiagram2D.SeriesItemsSource>  
<MultiBinding Converter="{StaticResource ChartModelConverter}">  
<Binding Source="{StaticResource Graphic}"/>  
<Binding RelativeSource="{x:Static RelativeSource.Self}" Path="DataContext"/>  
</MultiBinding>  
</dxc:XYDiagram2D.SeriesItemsSource>  
<dxc:XYDiagram2D.PanesPanel>  
<ItemsPanelTemplate>  
<Grid>  
<Grid.RowDefinitions>  
<RowDefinition Height="200"/>  
<RowDefinition Height="200"/>  
<RowDefinition Height="200"/>  
</Grid.RowDefinitions>  
</Grid>  
</ItemsPanelTemplate>  
</dxc:XYDiagram2D.PanesPanel>  
<dxc:XYDiagram2D.DefaultPane>  
<dxc:Pane x:Name="pane1" Grid.Row="0">  
<dxc:Pane.AxisXScrollBarOptions>  
<dxc:ScrollBarOptions Visible="False" />  
</dxc:Pane.AxisXScrollBarOptions>  
</dxc:Pane>  
</dxc:XYDiagram2D.DefaultPane>  
<dxc:XYDiagram2D.Panes>  
<dxc:Pane x:Name="pane2" Grid.Row="1">  
<dxc:Pane.AxisXScrollBarOptions>  
<dxc:ScrollBarOptions Visible="False" />  
</dxc:Pane.AxisXScrollBarOptions>  
</dxc:Pane>  
<dxc:Pane x:Name="pane3" Grid.Row="2"/>  
</dxc:XYDiagram2D.Panes>  

<dxc:XYDiagram2D.SeriesItemTemplateSelector>  
<templateselectors:ChartAreaTemplateSelector>  
<templateselectors:ChartAreaTemplateSelector.FirstTemplate>  
<DataTemplate>  
<dxc:AreaSeries2D Brush="{StaticResource CorporativeColor1}" Transparency="0.7" DataSource="{Binding Values}" ArgumentDataMember="Date" ValueDataMember="Value"/>  
</DataTemplate>  
</templateselectors:ChartAreaTemplateSelector.FirstTemplate>  
<templateselectors:ChartAreaTemplateSelector.SecondTemplate>  
<DataTemplate>  
<dxc:AreaSeries2D Brush="{StaticResource CorporativeColor2}" Transparency="0.7" DataSource="{Binding Values}" ArgumentDataMember="Date" ValueDataMember="Value" Pane="{Binding ElementName=pane2}"/>  
</DataTemplate>  
</templateselectors:ChartAreaTemplateSelector.SecondTemplate>  
<templateselectors:ChartAreaTemplateSelector.ThirdTemplate>  
<DataTemplate>  
<dxc:AreaSeries2D Brush="{StaticResource CorporativeColor3}" Transparency="0.7" DataSource="{Binding Values}" ArgumentDataMember="Date" ValueDataMember="Value" dxc:XYDiagram2D.SeriesPane="{Binding  ElementName=pane3}"/>  
</DataTemplate>  
</templateselectors:ChartAreaTemplateSelector.ThirdTemplate>  
</templateselectors:ChartAreaTemplateSelector>  
</dxc:XYDiagram2D.SeriesItemTemplateSelector>  
<dxc:XYDiagram2D.AxisX>  
<dxc:AxisX2D TickmarksMinorVisible="False" TickmarksVisible="False" GridLinesVisible="False" Visible="True" Alignment="Far" Brush="{x:Null}">  
<dxc:AxisX2D.DateTimeScaleOptions>  
<dxc:ContinuousDateTimeScaleOptions/>  
</dxc:AxisX2D.DateTimeScaleOptions>  
<dxc:AxisX2D.Label>  
<dxc:AxisLabel Foreground="{StaticResource PrincipalForeground}"/>  
</dxc:AxisX2D.Label>  
</dxc:AxisX2D>  
</dxc:XYDiagram2D.AxisX>  
<dxc:XYDiagram2D.AxisY>  
<dxc:AxisY2D Visible="True" GridLinesVisible="False" GridLinesMinorVisible="False" Interlaced="False"/>  
</dxc:XYDiagram2D.AxisY>  

</dxc:XYDiagram2D>  
</dxc:ChartControl>

若要解决此问题,请设置 XYDiagram2D.PaneItemsSource 属性以从 ViewModel 生成图表的图表窗格元素,并将它们链接到相应的系列项。

请参阅如何将图表绑定到其 ViewModel 示例,该示例说明了此方法。

最新更新