【问题标题】:Zooming on Silverlight Toolkit charts?放大 Silverlight Toolkit 图表?
【发布时间】:2010-11-19 16:08:27
【问题描述】:

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

谁能提供在 Silverlight Toolkit 中实现缩放的示例代码?

【问题讨论】:

  • 您是否尝试将ScaleTransform 应用于整个图表?
  • 是的:该系列已按比例放大,但在排行榜上悬而未决:我想我需要应用剪辑和翻译转换才能将其移动到正确的位置。此外,效果更像是放大镜而不是缩放。
  • 我刚刚在我的博客中写了一个解决方案:geoffwebbercross.blogspot.com/2011/02/…

标签: silverlight charts zooming silverlight-toolkit


【解决方案1】:

我之前研究过在 Silverlight Toolkit 图表上实现缩放,但是由于(可能)以下原因而失败:

  • Silverlight Toolkit 图表似乎没有设计为能够扩展以进行缩放。没有任何钩子可以让你轻松攻击一些缩放逻辑,如果你想在它们上创建缩放,你必须做很多事情。
  • 实现缩放的最简单方法是对元素使用 ScaleTransform 和 RenderTransform。在 Silverlight Toolkit 的情况下,您希望将其应用于该系列。然而,仅仅计算正确的 ScaleTransform 和 OffsetTransform 是很困难的足够了
  • 缩放时,您不希望所有内容都缩放。如果您将带有点的线系列放大 4 倍,您不希望线变粗 4 倍而点变大 4 倍。这意味着,即使您确实正确地应用了 ScaleTransforms 和 RenderTransforms,您所得到的只是一个放大镜,这仍然远非理想。

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

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

【讨论】:

  • 我试过 ScaleTransform 但遇到了你提到的问题。我会看看你提到的组件必须提供什么,谢谢!
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    添加到 Gergely Orozy 关于 Telerik 的评论:

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

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

    您可以通过单击此处查看demo,源代码也可以在同一选项卡上找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 2018-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多