1

据我所见,我面临着一个以前在这里已经被问过的问题。我阅读了其中的大部分内容,但没有找到正确的答案。

这就是我需要的:

  • 复杂形状的区域(即:国家,州..)
  • 有可能获得事件(尤其是鼠标)
  • 可以在其中放置一些控件(即:图像、按钮)

我看到有些使用用户控件,控件模板..但是我应该怎么做那种形状?大多数问题是针对标准形状的一些基本组合。
(我在 Blend 中看到我们可以用笔制作路径对象,有没有办法用它来定义区域的形状?)

谢谢。

4

2 回答 2

0

创建您自己的控件并使其主容器成为 Canvas。让画布背景透明,然后您可以在其上放置所需的所有控件。您可以使用多边形作为画布内的主要形状,并将所需的所有控件放在画布上(但我想出于您的目的,您需要确保不要将它们放置在多边形覆盖的区域之外。

让您使用的每个对象处理 mousedown 事件,然后您可以单独拖动它们。当 mousedown 发生时,在您单击的对象上使用 CaptureMouse() 方法,以便您单击的对象仍会捕获所有拖动(在主窗口上或离开主窗口)。确保在 mouseup 事件中调用 ReleaseMouse()。

您可以根据需要创建任意数量的控件实例。所有具有由每个包含的多边形定义的不同形状。您可以将所有这些对象放在一个网格或画布上,一切顺利。

于 2012-04-27T18:09:02.343 回答
0

您可以使用PathPanelExpression Blend SDK 中提供的类。 更多信息在这里

于 2019-08-15T12:29:20.413 回答