2013-02-21 2 views
1

У меня есть два вопроса:WPF динамически добавлять элементы управления и связывание вопроса

  1. Почему Color связывание не работает. Не могли бы вы предоставить правильный способ привязки для динамического управления цветами?

  2. Теперь мои SplineAreaSeries являются статическими и инициализированы в XAML. Если я хочу добавить еще 10 серий, то какой лучший и элегантный способ сделать это?

XAML:

<telerik:RadCartesianChart x:Name="xRevChart"> 
     <telerik:RadCartesianChart.Grid> 
      <telerik:CartesianChartGrid MajorLinesVisibility="XY" MajorXLineDashArray="10.5" 
             MajorXLinesRenderMode="All"/> 
     </telerik:RadCartesianChart.Grid> 
     <telerik:RadCartesianChart.VerticalAxis> 
      <telerik:LinearAxis></telerik:LinearAxis> 
     </telerik:RadCartesianChart.VerticalAxis> 
     <telerik:RadCartesianChart.HorizontalAxis> 
      <telerik:CategoricalAxis></telerik:CategoricalAxis> 
     </telerik:RadCartesianChart.HorizontalAxis> 
     <telerik:SplineAreaSeries Name="xSplineArea1" CategoryBinding="XValue" ValueBinding="YValue"> 
      <telerik:SplineAreaSeries.Fill> 
       <SolidColorBrush Color="{Binding Color}"/> 
      </telerik:SplineAreaSeries.Fill> 
     </telerik:SplineAreaSeries> 
     <telerik:SplineAreaSeries Name="xSplineArea2" CategoryBinding="XValue" ValueBinding="YValue"> 
      <telerik:SplineAreaSeries.Fill> 
       <SolidColorBrush Color="{Binding Color}"/> 
      </telerik:SplineAreaSeries.Fill> 
     </telerik:SplineAreaSeries> 
    </telerik:RadCartesianChart> 

КОД:

public class ChartDataClass 
{ 
    public double XValue { get; set; } 
    public double YValue { get; set; } 
    public Color Color { get; set; } 
} 

     List<ChartDataClass> list1 = new List<ChartDataClass>(); 

     for (int i = 0; i < 20; i++) 
     { 
      ChartDataClass c = new ChartDataClass(); 
      c.XValue = i; 
      c.YValue = rand.NextDouble() * 100; 
      c.Color = Colors.Blue; 
      list1.Add(c); 
     } 

     xRevChart.Series[1].ItemsSource = list1; 

ответ

0

Используйте конвертер, чтобы вернуть то, что вам нужно на связывание.

Это простофиля вопрос, я думаю: How do I convert a Color to a Brush in XAML?

+0

Как я могу понимать, '' работает тот же принцип, как конвертер, но уже объявленный в XAML, так что я думаю, это не является проблемой конвертации. Поправьте меня, если я ошибаюсь. Благодаря! –

Смежные вопросы