【问题标题】:Draggable AND clickable pushpin in silverlight bing mapsilverlight bing 地图中的可拖动和可点击图钉
【发布时间】:2011-04-19 06:31:03
【问题描述】:

我正在尝试在 Silverlight Bing 地图中创建一个既可拖动又可点击的图钉。我在这里找到了一些代码http://pietschsoft.com/post/2010/05/30/Draggable-Pushpins-using-Bing-Maps-Silverlight-Control.aspx 来实现可拖动部分。

我已将鼠标点击映射到地图上以放置图钉。

但是,问题(默认图钉也存在此问题)是单击图钉似乎首先由地图控件处理,因此我最终放弃了另一个图钉,而不是在图钉上注册事件。

如果我用作为按钮的 ControlTemplate 替换图钉,我可以捕获点击,但现在我没有可拖动图钉。

谁能推荐一个解决方案?

【问题讨论】:

    标签: silverlight button draggable bing


    【解决方案1】:

    我发现这种方法行之有效。在这里记录下来,以便对其他人有所帮助。

    1. 从上面的链接为 DraggablePushpin 创建一个内容模板,以便它只包含一个 DraggableButton(如下)。
    2. 从 Button 继承以创建 DraggableButton(在上面的模板中引用)

    3. 在此 DraggableButton 中,覆盖 OnMouseLeftButtonDown 和 OnMouseLeftButtonUp 并将它们传递给 DraggablePushpin。我在 DraggableButton 上创建了一个名为 ThePin 的属性,并将其设置在 DraggablePushpin 的 OnApplyTemplate 方法中。您可以在 OnApplyTemplate 中调用 GetTemplateChild() 以获取对图钉中 DraggableButton 实例的引用。

    4. DraggableButton 现在可以覆盖自定义操作的 Click 事件,还可以将其他事件传递给 DraggablePushpin,使其按预期工作。

    也许有一种更清洁的方法可以做到这一点,但这对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      相关资源
      最近更新 更多