2011-11-24 32 views
1

我已經使用Jim McCurdy對此StackOverflow question非常有幫助的答案,以避免在具有多行系列的WPF Toolkit圖表中繪製數據點。WPF工具包製圖:如何刪除線條系列數據點並仍然獲得不同的線條系列顏色?

但是,如果我不應用Jim的XAML樣式,所有圖表線獲得不同的顏色(當然代價是要顯示數據點),但是當我應用「無數據點」樣式時,線條顏色是常量導致圖表中的所有行具有相同的顏色。

是否可以擴展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

相關問題