代码之家  ›  专栏  ›  技术社区  ›  JohnC

放大Silverlight工具包图表?

  •  3
  • JohnC  · 技术社区  · 15 年前

    我需要在我使用的Silverlight图表上启用缩放功能-目前这是Silverlight工具包。据我所知,SL工具包图表不支持缩放,但我正在研究实现此功能。到目前为止,我还没有取得进展:将ScaleTransforms应用到Series元素并不像预期的那样工作。

    有谁能给我提供在Silverlight工具包中实现缩放的示例代码吗?

    3 回复  |  直到 15 年前
        1
  •  6
  •   Gergely Orosz    15 年前

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

    • Silverlight工具包图表 似乎没有设计成能够扩展以进行缩放 . 没有可以轻易攻击某些缩放逻辑的钩子,如果要在它们上创建缩放,则必须更深入。
    • 实现缩放的最简单方法是使用ScaleTransform和RenderTransform到元素。如果是Silverlight工具包,则需要将其应用于该系列。不管怎样公正 计算正确的尺度变换和偏移变换是困难的 足够地
    • 当缩放时, 你不想一切都按比例发展 . 如果放大带有点的线系列的4x,则不希望线变粗4x,点变大4x。这意味着,即使您正确地实现了ScaleTransforms和RenderTransforms的应用,您所得到的只是一个放大镜,这仍然远远不是理想的。

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

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

        2
  •  0
  •   MrDrews    15 年前

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

        3
  •  0
  •   mbcrump    14 年前

    Gergely Orozy对Telerik的评论:

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

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

    你可以查一下 demo 点击这里,源代码也可以在同一个选项卡上找到。