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

Silverlight放大一个画布的内容并在另一个画布中显示缩放内容

  •  0
  • skyfoot  · 技术社区  · 16 年前

    我有一个带画布的Silverlight应用程序,里面有一些省略号。我在下面有另一个画布,没有任何元素。

    我要做的是,当我单击第一个画布时,我要复制第一个画布的内容,放大单击鼠标的位置并在第二个画布中显示它。

    我想要像Silverlight3中的本地连接一样的功能,但是由于画布在同一个XAML和应用程序中,使用本地连接会有点过分。

    1 回复  |  直到 16 年前
        1
  •  0
  •   skyfoot    16 年前

    我的解决方案很简单,我几乎很尴尬。

    我已经将第二个画布的属性设置为与第一个画布匹配,并复制了任何不变的静态元素(我计划尝试从一个XAML文件中提取这些元素)。

    当我单击第一个画布时,我会在单击点添加一个新的椭圆。在同一个函数中,我创建了另一个椭圆元素,并将其添加到第二个画布中。

    cnvSource.Children.Add(ellipseElement);
    cnvTarget.Children.Add(ellipseElementCopy);
    

    然后我可以在第二个画布上创建一个缩放函数,这样第一个画布就不会受到影响。