WPF 툴킷을 사용하여 간단한 꺾은 선형 차트를 그립니다. 내 목표는 데이터 바인딩을 통해 내 시리즈의 선 색상을 설정하는 것입니다. 이 부분은 부분적으로 만 성공합니다. 질문은 : 왜?왜 차트 계열 색상 바인딩 데이터가 실패합니까?
설정
네임 스페이스 :
xmlns:chartingToolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit" x:Class="WpfApplication3.MainWindow"
xmlns:media="clr-namespace:System.Windows.Media;assembly=PresentationCore"
차트 :
<chartingToolkit:Chart x:Name="chart">
<chartingToolkit:LineSeries x:Name="seriesEntries" IndependentValueBinding="{Binding Key}" DependentValueBinding="{Binding Value}" DataPointStyle="{StaticResource CommonLineSeriesDataPoint}">
<chartingToolkit:LineSeries.Tag>
<media:Brush>Green</media:Brush>
</chartingToolkit:LineSeries.Tag>
</chartingToolkit:LineSeries>
</chartingToolkit:Chart>
가 나중에 관련이있을 것입니다, 지금의 Tag
무시합니다.
공지 차트는 사용자 정의 데이터 포인트 스타일, CommonLineSeriesDataPoint
있습니다
<Style x:Key="CommonLineSeriesDataPoint" TargetType="chartingToolkit:LineDataPoint">
<Setter Property="Background">
<Setter.Value>
<media:Brush>Red</media:Brush>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="chartingToolkit:LineSeries">
<Setter Property="DataPointStyle" Value="{StaticResource CommonLineSeriesDataPoint}" />
</Style>
예상대로,이 색상 빨간색 내 라인 시리즈 :
속보 변경
이제 알겠습니다. 내 데이터 포인트 배경에 데이터 바인딩. 나는 단 하나의 변화를 만든다. 배경 브러시를 직접 지정하는 대신 브러시이기도 한 LineSeries
속성 인 Tag
속성에 바인딩합니다 (이전 LineSeries
선언을 참조하십시오. 녹색입니다).
<Style x:Key="CommonLineSeriesDataPoint" TargetType="chartingToolkit:LineDataPoint">
<Setter Property="Background">
<Setter.Value>
<Binding Path="Tag" RelativeSource="{RelativeSource AncestorType={x:Type chartingToolkit:LineSeries}}" />
</Setter.Value>
</Setter>
</Style>
<Style TargetType="chartingToolkit:LineSeries">
<Setter Property="DataPointStyle" Value="{StaticResource CommonLineSeriesDataPoint}" />
</Style>
결과
은 이것이다 : 그래서 점은 녹색이다. 하지만 줄은입니다.내 생각에는 녹색 줄도 보입니다. 어디 있니?