引言
Silverlight對(duì)于圖形圖像處理方面,從1.0時(shí)代起就給予了很強(qiáng)大的支持,所以我們可以在Silverlight中實(shí)現(xiàn)非常棒的各種統(tǒng)計(jì)圖表,然而現(xiàn)在有了一些開源的項(xiàng)目,使得這項(xiàng)工作更加的簡(jiǎn)單。
本文我將介紹一個(gè)開源的項(xiàng)目visifire,使用它可以在Silverlight 2中實(shí)現(xiàn)超酷的圖表。
簡(jiǎn)單圖表
首先我們需要下載Visifire項(xiàng)目Silverlight開發(fā)包,在建立完項(xiàng)目后,添加對(duì)Visifire.Charts.dll和Visifire.Commons.dll程序集引用,添加命名空間:
創(chuàng)建圖表,此處的LayoutRoot是我們放置圖表的控件,它可以使Grid、StackPanel或者Canvas等控件。
添加數(shù)據(jù),這里為了簡(jiǎn)單起見(jiàn)隨機(jī)創(chuàng)建了六組數(shù)據(jù),注意我們需要把DataPoint數(shù)據(jù)添加到DataSeries對(duì)象的Children屬性中,而不能添加在DataPoints屬性上:
添加圖表到容器上面:
最后完整的代碼如下所示:
現(xiàn)在運(yùn)行后,可以看到效果如下圖所示:
當(dāng)鼠標(biāo)放在圖表上時(shí),可以顯示具體的數(shù)值:
去除水印
我們注意到在上面的圖形右上角添加了“Powered by Visifire”的水印效果,好在Visifire給我們提供了一個(gè)屬性,可以隱藏該水印效果:
現(xiàn)在運(yùn)行后可以看到水印效果已經(jīng)隱藏:
實(shí)現(xiàn)3D效果
除此之外,還可以實(shí)現(xiàn)3D效果的圖表,通過(guò)View3D屬性來(lái)設(shè)置,如下代碼所示:
運(yùn)行后效果如下圖所示:
設(shè)置圖表Theme
在Visifire中,我們還可以為圖表設(shè)置Theme,內(nèi)置的有3種Themes,它們默認(rèn)的動(dòng)畫類型以及顏色集合如下表所示:
設(shè)置Theme如下代碼所示:
運(yùn)行后效果如下圖所示:
設(shè)置動(dòng)畫類型
Visifire還可以指定圖標(biāo)加載時(shí)的動(dòng)畫類型,內(nèi)置了5中動(dòng)畫類型,它們的描述如下所示:
設(shè)置動(dòng)畫類型:
這樣在加載圖表時(shí),可以顯示不同的動(dòng)畫。Visifire項(xiàng)目代碼還需要進(jìn)一步完善,很多東西都沒(méi)有使用枚舉,而是用字符串來(lái)表示,如上面提到的Theme和AnimationType等。
設(shè)置顏色集合
Visifire內(nèi)置了很多的圖標(biāo)顏色集合,我們可以為最終生成的圖表設(shè)置顏色,如下代碼所示:
最終生成的圖表效果如下圖所示:
設(shè)置圖表類型
Visifire中內(nèi)置了各種圖表類型,包括柱狀圖,餅圖等。它提供了ChartTypes枚舉:
但是這個(gè)枚舉似乎并沒(méi)有什么用,在設(shè)置時(shí)仍然需要用枚舉對(duì)應(yīng)的字符串,并且圖表類型的設(shè)置實(shí)在DataSeries對(duì)象上,而不是Chart對(duì)象,如下代碼所示:
運(yùn)行后效果如下圖所示:
關(guān)于Visifire就簡(jiǎn)單的介紹這么多,大家可以去查看相關(guān)的文檔。
相關(guān)資源
下載Visifire項(xiàng)目開發(fā)包
源代碼:http://code.google.com/p/visifire/
SVN地址:http://visifire.googlecode.com/svn/trunk
在線文檔:http://www.visifire.com/visifire_charts_documentation.php
總結(jié)
本文簡(jiǎn)單的介紹了使用Visifire項(xiàng)目在Silverlight 2中實(shí)現(xiàn)圖形報(bào)表,希望對(duì)大家有所幫助。
NET技術(shù):在Silverlight 2中實(shí)現(xiàn)超酷圖表,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。