2015-08-15 5 views
2

Я добавил LineSeries в свою диаграмму. Вот код:WPF Toolkit - набор строк линии полилинии с привязкой

<chartingToolkit:LineSeries Name="line" IndependentValueBinding="{Binding Path=Key}" DependentValueBinding="{Binding Path=Value}"> 
    <chartingToolkit:LineSeries.Template> 
     <ControlTemplate TargetType="chartingToolkit:LineSeries"> 
      <Canvas x:Name="PlotArea"> 
       <Polyline x:Name="polyline" 
       Points="{TemplateBinding Points}" 
       Stroke="Green" 
       Style="{TemplateBinding PolylineStyle}" /> 
      </Canvas> 
     </ControlTemplate> 
    </chartingToolkit:LineSeries.Template> 
</chartingToolkit:LineSeries> 

Это работает нормально. Моя полилиния окрашена в зеленый цвет. Но когда я пытаюсь установить Polyline.Stroke color, используя привязку, моя линия становится невидимой. Вот код:

<chartingToolkit:LineSeries Name="line" IndependentValueBinding="{Binding Path=Key}" DependentValueBinding="{Binding Path=Value}"> 
    <chartingToolkit:LineSeries.Template> 
     <ControlTemplate TargetType="chartingToolkit:LineSeries"> 
      <Canvas x:Name="PlotArea"> 
       <Polyline x:Name="polyline" 
       Points="{TemplateBinding Points}" 
       Stroke="{Binding Path=MyColor}" 
       Style="{TemplateBinding PolylineStyle}" /> 
      </Canvas> 
     </ControlTemplate> 
    </chartingToolkit:LineSeries.Template> 
</chartingToolkit:LineSeries> 

Я не могу понять, в чем проблема.

ответ

1

Вероятно, вы используете неправильный тип для цвета, вы должны использовать SolidColorBrush

private SolidColorBrush _chartColor = new SolidColorBrush(Colors.Aqua); 
    public SolidColorBrush ChartColor 
    { 
     get 
     { 
      return _chartColor; 
     } 

     set 
     { 
      if (_chartColor == value) 
      { 
       return; 
      } 

      _chartColor = value; 
     } 
    } 

затем связывание должен отлично работает

<chartingToolkit:Chart Title="Line Series" 
VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="0" > 
     <chartingToolkit:LineSeries Name="line" ItemsSource="{Binding LineSeriesData}" 
      IndependentValueBinding="{Binding Path=Key}" 
      DependentValueBinding="{Binding Path=Value}"> 
      <chartingToolkit:LineSeries.Template> 
       <ControlTemplate TargetType="chartingToolkit:LineSeries"> 
        <Canvas x:Name="PlotArea"> 
         <Polyline x:Name="polyline" 
            Points="{TemplateBinding Points}" 
            Stroke="{Binding ChartColor}" 
            Style="{TemplateBinding PolylineStyle}" /> 
        </Canvas> 
       </ControlTemplate> 
      </chartingToolkit:LineSeries.Template> 

     </chartingToolkit:LineSeries> 
    </chartingToolkit:Chart> 
+0

Я использовал SolidColorBrush, но ее не работает ... Не у вас есть другая идея? – daidai

+0

код, который я дал вам, отлично работает для меня, убедитесь, что ваш «MyColor» не является нулевым или опубликовать больше вашего кода, поэтому мы не можем понять, где проблема! – Usama