• <menu id="w2i4a"></menu>
  • logo TeeChart .NET教程2018
    文檔首頁>>TeeChart .NET教程2018>>【TeeChart .NET教程】(二十)適用于Windows Phone 7和8的TeeChart

    【TeeChart .NET教程】(二十)適用于Windows Phone 7和8的TeeChart


    【下載TeeChart.Net最新版本】

    對于具有TeeChart API和Silverlight經(jīng)驗(yàn)的任何人來說,使用TeeChart for Windows Phone 7和8將會很熟悉,但是,我們將在此處介紹該平臺特有的一些情況。

    (一)安裝Visual Studio 2010插件

    可以從“App Hub”(http://create.msdn.com)下載Windows Phone 7平臺上開發(fā)所需的所有工具。從首頁上的鏈接,可以下載所有必要的免費(fèi)工具。請注意,這些工具僅適用于Windows 7或更高版本。TeeChart .NET for Windows Phone程序集還依賴于Silverlight for Windows Phone Toolkit。此工具包中的程序集也在TeeChart .NET Windows Phone 7示例中引用。

    (二)運(yùn)行Windows Phone 7示例

    在Windows 7上運(yùn)行時,TeeChart for .NET for Visual Studio 2010的安裝程序?qū)⒆詣影惭bWindows Phone 7的示例項(xiàng)目。此示例可在DemoProjectWindowsPhone文件夾下的Example文件夾中找到??梢栽赩isual Studio 2010中使用Windows Phone 7插件打開該項(xiàng)目,并在Windows Phone 7設(shè)備或模擬器中安裝并運(yùn)行Silverlight for Windows Phone Toolkit。

    (三)特定于Windows Phone 8開發(fā)的更改

    選擇Visual Studio 2012或Visual Studio 2013的安裝程序組件時,將安裝TeeChart.Phone.dll for Windows Phone 8。第一個顯著的區(qū)別是,在Visual Studio 2012和2013中使用Windows Phone所需的所有工具已經(jīng)集成在這兩個IDE中。這里的第二個區(qū)別是Windows Phone 8示例項(xiàng)目對Multilingual App Toolkit(http://msdn.microsoft.com/en-us/windows/apps/bg127574)的依賴性,可以使用Visual Studio提供的NuGet進(jìn)行安裝, “Tools”菜單下的“Extensions and Updates Manager擴(kuò)展和更新管理器”。

    (四)特定于TeeChart .NET for Windows Phone的API更改

    4.1 Steema.TeeChart.Silverlight.Drawing.Aspect.RenderSeriesAsImage

    RenderSeriesAsImage布爾屬性獲取或設(shè)置TeeChart是否在位圖圖像中呈現(xiàn)Series及其點(diǎn)。當(dāng)TeeChart將系列渲染為位圖圖像時,對于大量的點(diǎn),捏合和拖動圖表會更快,而當(dāng)系列縮放到大范圍時,會降低像素分辨率的成本。

    4.2 Steema.TeeChart.Silverlight.Drawing.Aspect.GestureOptions

    GestureOptions屬性獲取或設(shè)置一個枚舉(Gestures),它控制TeeChart .NET for Windows Phone 7響應(yīng)的手勢移動。因此我們可以將此屬性設(shè)置為Gestures.None,在這種情況下,控件不會響應(yīng)捏合或拖動手勢,也不會響應(yīng)Gestures.PinchOnly,Gestures.DragOnly或Gestures.PinchAndDrag。

    4.3 Steema.TeeChart.Silverlight.Drawing.Aspect.GestureStyle

    GestureStyles屬性獲取或設(shè)置一個枚舉(GestureStyles),它控制TeeChart .NET for Windows Phone 7如何響應(yīng)捏合和拖動手勢。因此我們可以將此屬性設(shè)置為GestureStyles.InChart,在這種情況下,TeeChart系列和軸將獨(dú)立響應(yīng)捏合和拖動手勢,或者回應(yīng)GestureStyles.FullChart,在這種情況下,TeeChart的整個響應(yīng)將對它們做出響應(yīng)。

    (五)TeeChart .NET for Windows Phone與其他TeeChart版本之間的重要區(qū)別

    盡管已經(jīng)盡一切努力在縮放(捏合)和滾動(拖動)方面保持高水平的性能并且在所有平臺上保持TeeChart API的直觀性,但在TeeChart for Windows Phone的情況下,已經(jīng)做出了一些調(diào)整。TeeChart在其他平臺上可以完成的所有事情也可以在Windows Phone上完成,可以通過捏合和拖動停用(GestureOptions = Gestures.None)或使用FullChart捏合和拖動(GestureStyle = GestureStyles.FullChart) )。通過激活I(lǐng)nChart夾點(diǎn)和拖動(GestureStyle = GestureStyles.InChart和GestureOptions!= Gestures.None),將會出現(xiàn)一些使用TeeChart的技術(shù)在Windows Phone以外的所有平臺中都有效的情況。作為一個例子,考慮在縮放和滾動時想要在圖表上繪制一些文本的情況。在Windows窗體中,我們將使用以下代碼實(shí)現(xiàn)此目的:

    Points points; 
        private void InitializeChart() 
        { 
          tChart1.Aspect.View3D = false; 
          tChart1.AfterDraw += new PaintChartEventHandler(tChart1_AfterDraw); 
          tChart1.Series.Add(point = new Points()); 
          point.FillSampleValues(); 
        } 
     
        void tChart1_AfterDraw(object sender, Graphics3D g) 
        { 
          int x = point.CalcXPosValue(point[3].X); 
          int y = point.CalcYPosValue(point[3].Y); 
          g.Font.Color = Color.Red; 
          g.Font.Size = 16; 
          g.TextOut(x, y, "MyText"); 
        }
    

    Windows Phone中的等效代碼是:

    Points point; 
        private void InitializeChart() 
        { 
          tChart1.Aspect.View3D = false; 
          tChart1.AfterDraw += new PaintChartEventHandler(tChart1_AfterDraw); 
          tChart1.Series.Add(point = new Points()); 
          point.FillSampleValues(); 
        } 
     
        void tChart1_AfterDraw(object sender, Graphics3D g) 
        { 
          double x = point.CalcXPosValue(point[3].X); 
          double y = point.CalcYPosValue(point[3].Y); 
          g.Font.Color = Colors.Red; 
          g.Font.Size = 16; 
          g.TextOut(x, y, "MyText"); 
        }
    

    但是,這兩個代碼段在屏幕上不會產(chǎn)生相同的結(jié)果,為了達(dá)到同樣的效果,不得不修改Windows Phone代碼段:

    Points point; 
        private void InitializeChart() 
        { 
          tChart1.Aspect.View3D = false; 
          //tChart1.AfterDraw += new PaintChartEventHandler(tChart1_AfterDraw); 
          tChart1.Series.Add(point = new Points()); 
          point.AfterDrawValues += new PaintChartEventHandler(point_AfterDrawValues); 
          point.FillSampleValues(); 
        } 
     
        void point_AfterDrawValues(object sender, Graphics3D g) 
        { 
          double x = point.CalcXPosValue(point[3].X); 
          double y = point.CalcYPosValue(point[3].Y); 
          g.Font.Color = Colors.Red; 
          g.Font.Size = 16; 
          g.TextOut(x, y, "MyText"); 
        }
    

    在這些情況下,TeeChart for Windows Phone將不同的Chart元素渲染到多個畫布,通常它將所有Chart元素渲染到一個畫布。因此,要使文本與系列畫布上的元素一起移動,必須選擇一個事件,該事件在同一畫布上繪制,在本例中為Series'OfterDrawValues事件。在此方案中,Chart的AfterDraw事件將繪制到不同的畫布。

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();