【问题标题】:Choosing between Drawing and Shape in WPF在 WPF 中的绘图和形状之间进行选择
【发布时间】:2011-05-05 10:15:42
【问题描述】:

我不太确定 System.Windows.Media.DrawingSystem.Windows.Shapes.Shape 类之间的区别。它们都公开了与 WPF 中的 2D 图形相关的功能。您什么时候在 WPF 应用程序中选择一个,什么时候选择另一个?

【问题讨论】:

    标签: wpf graphics 2d


    【解决方案1】:

    Shape 继承自 FrameworkElement,因此是一个高级对象,它提供诸如命中测试、样式、布局和数据绑定等功能。相比之下,Drawing 不继承自FrameworkElemet,也不支持任何这些功能。正如文档中提到的那样,Drawing 对于轻量级视觉对象很有用。如果您要创建一个复杂的画笔来绘制区域或背景,那么 DrawingBrush 会非常有效。

    绘图可以结合文本、视频、图像和Geometry 对象(另一个轻量级)来创建复杂但非常高效和快速的绘图。

    简而言之,DrawingShape 的低级替代方案。 至于用例,这取决于。

    • 如果您必须制作动画或进行任何类型的绑定,您可以使用 Shapes。
    • 如果您要创建画笔或复杂的剪贴画/矢量图形,您可能会使用绘图。
    • 此外,如果您通过覆盖 OnRender 来绘制事物,您将主要使用几何。

    Drawing 也是 Freezable,因此可以在线程之间共享(假设它被冻结)。

    【讨论】:

      猜你喜欢
      • 2013-12-01
      • 1970-01-01
      • 2010-12-09
      • 2011-09-07
      • 2023-04-06
      • 2011-07-02
      • 1970-01-01
      • 2011-04-03
      • 1970-01-01
      相关资源
      最近更新 更多