2

Silverlight 4 툴킷 차트의 xaml에서 각 라인의 색상을 변경하려면 어떻게해야합니까? 트릭 뒤에 많은 코드를 보았지만 그렇게하고 싶지는 않습니다. mvvm을 사용하는 방법이 있습니까? 나는 xaml에서 그것을하는 것을 선호 할 것이다. xaml의 silverlight 4 차트에서 각 라인의 색상을 변경하는 방법

<toolkit:Chart Grid.Row="1" Title="Actuals + Forecast" DataContext="{Binding Path=SelectedSKU}"> 
      <toolkit:Chart.Series> 
       <toolkit:LineSeries Title="Manual Forecast" 
            ItemsSource="{Binding Path=LstChartData}" 
            IndependentValueBinding="{Binding Path=StrPeriod}" 
            DependentValueBinding="{Binding Path=DQuantity}" BorderBrush="#FFFF0300"/> 
       <toolkit:LineSeries Title="Automatically Generated Forecast" 
            ItemsSource="{Binding Path=LstAChartData}" 
            IndependentValueBinding="{Binding Path=StrPeriod}" 
            DependentValueBinding="{Binding Path=DQuantity}" Foreground="Green"BorderBrush="Green" /> 
       <toolkit:LineSeries Title="Actual History" 
            ItemsSource="{Binding Path=LstMChartData}" 
            IndependentValueBinding="{Binding Path=StrPeriod}" 
            DependentValueBinding="{Binding Path=DQuantity}" Foreground="Blue" /> 
      </toolkit:Chart.Series> 
     </toolkit:Chart> 

는이 기사보고 :

내가 시도 무엇 http://blogs.msdn.com/b/delay/archive/2009/02/04/columns-of-a-different-color-customizing-the-appearance-of-silverlight-charts-with-re-templating-and-mvvm.aspx을하지만, 내가 그것을 알아 낸이 실버 라이트 4

+0

저는 xaml에서 알 수있는 한이 질문에 대해 약간 혼란스러워합니다. 각 라인리스트는 이미 차트 자체 팔레트 시스템에 의해 다른 색상으로 주어질 것입니다. – AnthonyWJones

+0

예,하지만 색상은 모두 파란색 음영이 다릅니다. 내 데이터가 서로 가깝기 때문에 색상이 파란색, 빨간색 및 녹색이라고하면 쉽게 구분할 수 있습니다. 나는 파란 색조가 3 가지 다르다. 나는 그것이 일어나지 않는다는 것을 예를 보았다. 왜 이런 일이 나에게 일어나고 있는지 모르겠습니다. 전경이나 경계 붓을 추가하더라도. xaml의 스타일을 완전히 이해하지 못한다는 것을 인정합니다. – pqsk

+1

@pqsk 차트의 스크린 샷을 올리면 코드에 아무런 문제가 없습니다. 또한 색상에 대한 비슷한 질문에 대답 : http://stackoverflow.com/questions/5618581/silverlight-4-chart-toolkit-color-set/5626435#5626435 아마도 그 대답은 당신을 도울 것입니다. – vorrtex

답변

1

는 완전히 다른 소리 실버 라이트 2를 말합니다 :

<toolkit:Chart Grid.Row="1" Title="Actuals + Forecast" DataContext="{Binding Path=SelectedSKU}"> 
     <toolkit:Chart.Series> 
      <toolkit:LineSeries Title="Manual Forecast" 
           ItemsSource="{Binding Path=LstChartData}" 
           IndependentValueBinding="{Binding Path=StrPeriod}" 
           DependentValueBinding="{Binding Path=DQuantity}"> 
       <toolkit:LineSeries.DataPointStyle> 
        <Style TargetType="toolkit:LineDataPoint"> 
         <Setter Property="Background" Value="Lime" /> 
         <Setter Property="Template" Value="{x:Null}"/> 
        </Style> 
       </toolkit:LineSeries.DataPointStyle> 
      </toolkit:LineSeries> 
     </toolkit:Chart.Series> 
    </toolkit:Chart> 

< setter 속성 = "템플릿"값 = "{X : 널이}"/ >는 실제 포인트를 제거합니다, 그래서 당신은 페이지를 원하는 경우 그런 스타일은 벗어날 수 있습니다.

@ Vorrtex, 귀하의 솔루션은 지나치게 복잡해 보이는 것 같습니다. 나쁘지는 않지만, 내가보고있는 것이 아니라 도움을 주셔서 감사합니다. -이 이상의 내용을 기록하는

Style="StaticResource newGraphPalette" 

를 사용

<Style x:Key="newGraphPalette" TargetType="toolkit:Chart"> 

    <Setter Property="Palette"> 
    <Setter.Value> 
     <toolkit:ResourceDictionaryCollection> 
     <!-- set the first line color to red --> 
     <ResourceDictionary> 
      <SolidColorBrush x:Key="Background" Color="Red"/> 
      <Style x:Key="DataPointStyle" TargetType="Control"> 
       <Setter Property="Background" Value="StaticResource Background"/> 
      </Style> 
     </ResourceDictionary> 

     <!-- set the second line color to green --> 
     <ResourceDictionary> 
      <SolidColorBrush x:Key="Background" Color="Green"/> 
      <Style x:Key="DataPointStyle" TargetType="Control"> 
       <Setter Property="Background" Value="StaticResource Background"/> 
      </Style> 
     </ResourceDictionary> 


     <!-- set the third line color to blue --> 
     <ResourceDictionary> 
      <SolidColorBrush x:Key="Background" Color="Blue"/> 
      <Style x:Key="DataPointStyle" TargetType="Control"> 
       <Setter Property="Background" Value="StaticResource Background"/> 
      </Style> 
     </ResourceDictionary> 
     </toolkit:ResourceDictionaryCollection> 
    </Setter.Value> 
    </Setter> 

</Style> 

그리고 당신이 특정 팔레트를 사용하고자 할 때 :

0

한 가지 방법은 그래프 팔레트를 재정의 스타일을 제공하는 것입니다 차트의 기본 팔레트이며, 재사용 할 수있는 자원 (스타일)으로 색상을 정의하기 만하면됩니다.

는 희망이 도움이됩니다.

관련 문제