放大Silverlight Toolkit图表?

时间:2010-11-19 16:08:28

标签: silverlight charts zoom silverlight-toolkit

我需要在我使用的Silverlight图表上启用缩放 - 目前这是Silverlight Toolkit。据我所知,SL Toolkit图表不支持缩放,但我正在考虑实现此功能。到目前为止,我还没有成功:将ScaleTransforms应用于Series元素并不能按预期工作。

任何人都可以向我提供有关在Silverlight Toolkit中实现缩放的示例代码吗?

3 个答案:

答案 0 :(得分:6)

我之前已经考虑过在Silverlight Toolkit图表上实现缩放,但是由于(可能)以下原因失败了:

  • Silverlight工具包图表似乎没有设计为能够扩展以进行缩放。没有钩子你可以很容易地攻击一些缩放逻辑,如果你想对它们进行缩放,你必须更加深入。
  • 实现缩放的最简单方法是使用ScaleTransform和RenderTransform元素。如果是Silverlight Toolkit,您希望将其应用于该系列。但是计算正确的ScaleTransform和OffsetTransform很难
  • 缩放时,您不希望所有内容都缩放。如果在带有点的线系列上放大4倍,则不希望线条厚4倍,点数要大4倍。这意味着即使你确实正确地应用了ScaleTransforms和RenderTransforms,你所能获得的只是一个放大镜,这仍然远非理想。

几个小时后,我放弃了对SL工具包图表添加这种支持,而是寻找支持缩放的其他组件,并有一个很好的API来处理它。这些是我发现的组件(尽管我确定还有更多):

总结一下,我认为最简单的方法是使用已经实现了缩放的组件 - 从我的经验来看,需要投入很多才能添加适当的缩放+平移Silverlight工具包图表。

答案 1 :(得分:0)

你应该看看user610173's blog post。具体来说,请在此处下载完整的示例代码:http://slchartzoomandpan.codeplex.com/SourceControl/list/changesets非常有用!

答案 2 :(得分:0)

添加关于Telerik的Gergely Orozy评论:

您可以使用以下XAML轻松添加缩放功能。

<charting:ChartArea.ZoomScrollSettingsX>
    <charting:ZoomScrollSettings ScrollMode="ScrollAndZoom" MinZoomRange="0.005"/>
</charting:ChartArea.ZoomScrollSettingsX>

您可以点击此处查看demo,同一标签上也可以找到源代码。