【问题标题】:Bing map control - eventtocommand mouseleftbuttonupBing 地图控件 - eventtocommand mouseleftbuttonup
【发布时间】:2011-09-06 22:07:53
【问题描述】:

小问题,我在 windows phone 7 视图上的 bing 地图控件中添加了一个图钉。 我有一个 EventTrigger EventName="MouseLeftButtonUp" 映射到我的视图模型上的命令。 所以当我点击那个图钉时,我在视图模型中的代码就会被触发。

但是,当我还将 EventTrigger EventName="MouseLeftButtonUp" 添加到 bing 地图本身时,只会触发该代码并且忽略特定于图钉点击的代码。

那么关于如何为 bing 地图父控件及其地图项控件添加单独的事件触发器有什么技巧吗?

【问题讨论】:

    标签: windows-phone-7 mvvm-light bing-maps


    【解决方案1】:

    如果您正在处理 PushPins 上的点击事件,则不应为地图本身设置 Tap 事件处理程序。

    问题与事件的冒泡有关,您对此无能为力。另外,您为什么首先要在地图上进行点击事件?

    【讨论】:

    • 嗯...该应用程序将显示几个图钉,并在图钉的“点击”上显示地图顶部的叠加层。点击地图本身将清除叠加层...您可以在此处查看我的当前版本:youtube.com/watch?v=FamuF5S_XXo 但我做了一个“肮脏”的黑客攻击以使其正常工作。正在寻找“其他”解决方案。
    • 如果您观看 youtube 视频,您会看到,当我从图钉 A 上单击图钉 B 时,叠加层会短暂清除并重新出现...这是因为地图也得到了点击事件。
    • 我在我的一个应用程序中做了类似的事情。但我没有你描述的问题。您可以发布地图和图钉的事件处理代码?
    • mapclick 与 EventToCommand 链接到:this.MapClickCommand = new RelayCommand(() => this.StationPopupVisible = Visibility.Collapsed); 图钉命令有以下代码 this.StationPopupVisible = Visibility.Visible;this.SelectedStation = (from Station station in this.POIList where station.station_id == id select station).FirstOrDefault();
    • 仅供参考,似乎冒泡效应是您无法像克劳斯状态那样做太多事情......所以我目前的解决方案保持不变。
    猜你喜欢
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    相关资源
    最近更新 更多