2011-11-24 3 views
1

짐 맥 커디 (Jim McCurdy)가이 StackOverflow question에 대한 매우 유용한 답변을 사용하여 여러 줄로 구성된 WPF 툴킷 차트에서 데이터 요소를 그리는 것을 방지했습니다.WPF Toolkit Charting : 라인 시리즈 데이터 포인트를 제거하고 다른 라인 시리즈 컬러를 얻는 방법?

그러나 Jim의 XAML 스타일을 적용하지 않으면 모든 차트 선이 다른 색상을 얻습니다 (물론 데이터 요소가 표시되는 대신 데이터 선을 사용하지 않아도됩니다). 그러나 "datapoint-less"스타일을 적용하면 선 색상이 일정합니다 차트의 모든 선이 같은 색으로 표시됩니다.

XAML 스타일을 확장하여 차트의 새 줄 시리즈마다 선 색이 자동으로 달라 지도록 할 수 있습니까?

이 대답을 StackOverflow question에 올바르게 해석하면 프로그래밍 방식으로 문제를 해결할 수 있지만 가능한 경우 XAML 기반 솔루션을 선호합니다.

답변

3

XAML에서이 문제를 해결하려면 LineSeries에 할당 할 각 색마다 다른 DataPoint 스타일을 만드는 것이 좋습니다.

<Style x:Key="InvisibleDataPointBlue" TargetType="{x:Type charting:DataPoint}"> 
    <Setter Property="Background" Value="Blue"/> 
    <Setter Property="Template" Value="{x:Null}"/> 
</Style> 

<Style x:Key="InvisibleDataPointRed" TargetType="{x:Type charting:DataPoint}"> 
    <Setter Property="Background" Value="Red"/> 
    <Setter Property="Template" Value="{x:Null}"/> 
</Style> 

<Style x:Key="InvisibleDataPointGreen" TargetType="{x:Type charting:DataPoint}"> 
    <Setter Property="Background" Value="Green"/> 
    <Setter Property="Template" Value="{x:Null}"/> 
</Style> 

동적으로 새로운 색상을 할당 할 수있는 더 좋은 방법이있을 수 있지만, 사용자의 요구가 완만 한 경우,이 할 것입니다 : 예를 들어, 단순히이 작업을 수행했습니다.

+0

친애하는 PIntag, 많은 귀하의 회신에 감사드립니다. 코드에서 동적으로 다른 계열을 정의하므로 코드의 각 새 계열에 새 스타일을 명시 적으로 할당해야합니다. 스타일을 변경하지 않으면 새로운 라인 시리즈마다 암묵적으로 색상이 변경됩니다. 데이터 포인트 템플릿이 null 일 때 동일한 기능을 수행하는 것이 좋습니다. 그러나 어쨌든, 나는이 대안 솔루션을 제공 할 시간을 내 주셔서 감사합니다. –

+0

당신은 환영합니다 - 나는 새로운 라인 시리즈마다 암묵적인 색상 변경을 처리하는이 문제에 대한 좀 더 일반적인 해결책을 가지고 있지 못해 죄송합니다. 이 방법이 있어야하지만, 몇 달 전에이 문제를보고 대답을 찾을 수 없었습니다. 위의 솔루션으로 내 애플리케이션에는 충분 했으므로 문제를 조사하는 데 더 많은 시간을 할애하지 않았습니다. – PIntag

관련 문제