【问题标题】:Silverlight - Creating a canvas with auto-alignment and scaleSilverlight - 创建具有自动对齐和缩放功能的画布
【发布时间】:2010-09-27 13:43:16
【问题描述】:

如何创建这种类型的画布 - http://www.silverdiagram.net/Projects/SilverDiagram/SilverDiagram_Demo.aspx?我想将控件完全对齐。我想帮助用户使用自动对齐(如 Visual Studio)并通过为用户提供比例来正确对齐它。

【问题讨论】:

    标签: c# silverlight canvas


    【解决方案1】:

    Canvas 是正确的容器,因为您可以通过坐标定位其子控件。您的问题更多是关于移动元素,这实际上是拖放。

    您必须处理鼠标事件:MouseDown 选择一个项目,MouseMove 检测拖动,MouseUp 放下它。在移动或放置过程中,您可以更改元素的坐标以在网格上自动对齐或与周围元素进行比较。

    我在 Silverlight 中成功制作了这样一个项目,并使用 Adorners 为元素添加了调整大小处理程序。

    我通过将Canvas 放入Viewbox(位于ScrollViewer 中)解决了平移和缩放问题。如果您想让用户控制缩放系数,请将LayoutTransform 应用于Canvas(在Toolkit 中可用)。

    【讨论】:

      猜你喜欢
      • 2022-08-23
      • 2016-05-07
      • 2017-07-29
      • 1970-01-01
      • 2011-05-29
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 2014-05-10
      相关资源
      最近更新 更多