我的图钉以常见的方式添加到地图中:
C#:
private readonly ObservableCollection<PushpinModel> _pushpins = new observableCollection<PushpinModel>();
public ObservableCollection<PushpinModel> Pushpins
{
get{return _pushpins;}
}
XAML:
<my:MapItemsControl ItemsSource="{Binding Pushpins}">
<my:MapItemsControl.ItemTemplate>
<DataTemplate>
<my:Pushpin Style="{StaticResource PushpinStyle}"
MouseLeftButtonUp="Pushpin_MouseLeftButtonUp"
Location="{Binding Location}"
Content="{Binding Num}">
</my:Pushpin>
</DataTemplate>
</my:MapItemsControl.ItemTemplate>
</my:MapItemsControl>
点击图钉后,我可以将Pushpin作为发件人并获取位置信息。
但我想跟踪它的PushpinModel
对象以获取与Pushpin
相关的其他信息,如名称,描述,网址等。我该怎么做?
答案 0 :(得分:3)
首先,您应该使用Tap
事件,而不是MouseLeftButtonUp
。
其次,事件处理程序中的sender
是Pushpin
,它的DataContext
属性是您绑定的PushpinModel
,所以只需执行:< / p>
var pushpinModel = (sender as Pushpin).DataContext as PushpinModel;