原創(chuàng)|使用教程|編輯:郝浩|2013-03-07 16:19:21.000|閱讀 799 次
概述:在上一篇文章《Chart FX for WPF圖表控件如何簡化圖表(一)》中實現(xiàn)了圖表的簡化,節(jié)省了大量的控件。在本次的文章中,我們將會增加新的功能到已經(jīng)簡化了的圖表上。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在上一篇文章《Chart FX for WPF圖表控件如何簡化圖表(一)》中實現(xiàn)了圖表的簡化,節(jié)省了大量的控件。在本次的文章中,我們將會增加新的功能到已經(jīng)簡化了的圖表上。圖表中所繪制的范圍上有一個最大和最小值,如果想要在背景上繪制一個淺灰色的矩形,這個矩形使用這個最大值和最小值范圍,并且和原來的圖表進行重疊,這樣的話,如果圖表上有任何的值超出了范圍,就可以很直觀的看見。
要實現(xiàn)上面的效果,現(xiàn)在有2個關(guān)鍵的問題,首先為了最小化空間,Y軸是不可見的,但是如果想要使用軸部分來展示這個范圍,必須確保軸是可見的,但是要求沒有任何的標簽或是網(wǎng)格線。XAML需要隱藏網(wǎng)格和標簽,像下面這樣:
<cfx:Chart.AxisY> <cfx:Axis Separation="0"> <cfx:Axis.Labels> <cfx:AxisLabelAttributes Visibility="Collapsed"/> </cfx:Axis.Labels> <cfx:Axis.Grids> <cfx:Grids> <cfx:Grids.Major> <cfx:GridLine Visibility="Collapsed" TickMark="None"/> </cfx:Grids.Major> <cfx:Grids.Minor> <cfx:GridLine Visibility="Collapsed" TickMark="None"/> </cfx:Grids.Minor> </cfx:Grids> </cfx:Axis.Grids> </cfx:Axis> </cfx:Chart.AxisY>
想要直觀的隱藏網(wǎng)格線和標簽,設(shè)置Separation為0 ,是最小化軸空間的關(guān)鍵。現(xiàn)在要創(chuàng)建一個軸部分,將設(shè)置每個產(chǎn)品的最小和最大之間的范圍,所以會假設(shè)數(shù)據(jù)層類ProductInfo有2個額外的屬性,分別為MinDownloads和MaxDownloads。
<cfx:Axis.Sections> <cfx:AxisSection From="{Binding Path=MinDownloads}" To="{Binding Path=MaxDownloads}" Background="#A0A0A0" /> </cfx:Axis.Sections>
效果如下:
現(xiàn)在來看看怎么樣在最大值上記性標記呢?具體代碼如下:
<cfx:Chart.ConditionalAttributes> <cfx:ConditionalAttributes> <cfx:ConditionalAttributes.Condition> <cfx:MaximumValueCondition/> </cfx:ConditionalAttributes.Condition> <cfx:ConditionalAttributes.Marker> <cfx:MarkerAttributes Visibility="Visible" Fill="Red" Size="6" Shape="Circle" /> </cfx:ConditionalAttributes.Marker> </cfx:ConditionalAttributes> </cfx:Chart.ConditionalAttributes>
如果說想要顯示每個圖表最后一個值的點標簽的話,我們可以使用相同的類,將其綁定到X值,代碼如下:
<cfx:ConditionalAttributes> <cfx:ConditionalAttributes.Condition> <cfx:MaximumValueCondition BindingPath="X"/> </cfx:ConditionalAttributes.Condition> <cfx:ConditionalAttributes.PointLabels> <cfx:PointLabelAttributes Visibility="Visible" Offset="3,0" HorizontalAlignment="Right" VerticalAlignment="Center" FontSize="7"/> </cfx:ConditionalAttributes.PointLabels> </cfx:ConditionalAttributes>
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件