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