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

本文详细介绍了Windows Phone 7和8环境下的TeeChart的安装插件,运行示例和其他特性。

【下载TeeChart.Net最新版本】

对于具有TeeChart API和Silverlight经验的任何人来说,使用TeeChart for Windows Phone 7和8将会很熟悉,但是,我们将在此处介绍该平台特有的一些情况。

(一)安装Visual Studio 2010插件

可以从“App Hub”(http://create.msdn.com)下载Windows Phone 7平台上开发所需的所有工具。从首页上的链接,可以下载所有必要的免费工具。请注意,这些工具仅适用于Windows 7或更高版本。TeeChart .NET for Windows Phone程序集还依赖于Silverlight for Windows Phone Toolkit。此工具包中的程序集也在TeeChart .NET Windows Phone 7示例中引用。

(二)运行Windows Phone 7示例

在Windows 7上运行时,TeeChart for .NET for Visual Studio 2010的安装程序将自动安装Windows Phone 7的示例项目。此示例可在DemoProjectWindowsPhone文件夹下的Example文件夹中找到。可以在Visual Studio 2010中使用Windows Phone 7插件打开该项目,并在Windows Phone 7设备或模拟器中安装并运行Silverlight for Windows Phone Toolkit。

(三)特定于Windows Phone 8开发的更改

选择Visual Studio 2012或Visual Studio 2013的安装程序组件时,将安装TeeChart.Phone.dll for Windows Phone 8。第一个显着的区别是,在Visual Studio 2012和2013中使用Windows Phone所需的所有工具已经集成在这两个IDE中。这里的第二个区别是Windows Phone 8示例项目对Multilingual App Toolkit(http://msdn.microsoft.com/en-us/windows/apps/bg127574)的依赖性,可以使用Visual Studio提供的NuGet进行安装, “Tools”菜单下的“Extensions and Updates Manager扩展和更新管理器”。

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

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

RenderSeriesAsImage布尔属性获取或设置TeeChart是否在位图图像中呈现Series及其点。当TeeChart将系列渲染为位图图像时,对于大量的点,捏合和拖动图表会更快,而当系列缩放到大范围时,会降低像素分辨率的成本。

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

GestureOptions属性获取或设置一个枚举(Gestures),它控制TeeChart .NET for Windows Phone 7响应的手势移动。因此我们可以将此属性设置为Gestures.None,在这种情况下,控件不会响应捏合或拖动手势,也不会响应Gestures.PinchOnly,Gestures.DragOnly或Gestures.PinchAndDrag。

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

GestureStyles属性获取或设置一个枚举(GestureStyles),它控制TeeChart .NET for Windows Phone 7如何响应捏合和拖动手势。因此我们可以将此属性设置为GestureStyles.InChart,在这种情况下,TeeChart系列和轴将独立响应捏合和拖动手势,或者回应GestureStyles.FullChart,在这种情况下,TeeChart的整个响应将对它们做出响应。

(五)TeeChart .NET for Windows Phone与其他TeeChart版本之间的重要区别

尽管已经尽一切努力在缩放(捏合)和滚动(拖动)方面保持高水平的性能并且在所有平台上保持TeeChart API的直观性,但在TeeChart for Windows Phone的情况下,已经做出了一些调整。TeeChart在其他平台上可以完成的所有事情也可以在Windows Phone上完成,可以通过捏合和拖动停用(GestureOptions = Gestures.None)或使用FullChart捏合和拖动(GestureStyle = GestureStyles.FullChart) )。通过激活InChart夹点和拖动(GestureStyle = GestureStyles.InChart和GestureOptions!= Gestures.None),将会出现一些使用TeeChart的技术在Windows Phone以外的所有平台中都有效的情况。作为一个例子,考虑在缩放和滚动时想要在图表上绘制一些文本的情况。在Windows窗体中,我们将使用以下代码实现此目的:

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");    }

但是,这两个代码段在屏幕上不会产生相同的结果,为了达到同样的效果,不得不修改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事件将绘制到不同的画布。

标签:.NET表格控件teechart

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年7月24日
下一篇 2018年7月25日

相关推荐

发表回复

登录后才能评论