正在获取数据绑定项中的当前项
本文关键字:获取 数据绑定 | 更新日期: 2023-09-27 18:20:51
我正在向绑定到数据源的映射添加一些推送ping。
<my:Map Height="340" HorizontalAlignment="Left" Margin="12,100,0,0" Name="settingsmap" VerticalAlignment="Top" Width="438" CredentialsProvider="_">
<my:MapItemsControl Name="settingsMapItemControl" MouseLeftButtonDown="settingsMapItemControl_MouseLeftButtonDown">
<my:MapItemsControl.ItemTemplate>
<DataTemplate>
<my:Pushpin Location="{Binding location}">
</my:Pushpin>
</DataTemplate>
</my:MapItemsControl.ItemTemplate>
</my:MapItemsControl>
</my:Map>
图钉绑定到数据项的"位置"成员。
现在,当有人点击pin(或在手机中触摸)时,我如何才能获得绑定到pin的项目(从绑定到地图的对象列表中)?我想基本上得到这个项目,这样我就可以在屏幕底部显示其他信息,比如名字等。或者说你已经选择了"xyz"
如果使用MVVM,请在Pushpin上放置EventTrigger和InvokeCommandAction,并将DataContext本身绑定到Command参数。
<my:Pushpin Location="{Binding location}">
<i:Interactivity.Triggers>
<i:EventTrigger EventName="Tap">
<i:InvokeCommandAction Command="{Binding PushpinClick}"
CommandParameter="{Binding}" />
</i:EventTrigger>
<i:Interactivity.Triggers>
</my:Pushpin>
只要在你的虚拟机中有一个名为PusphinClick的ICommand,你就会得到Execute
参数中的数据
如果你不使用MVVM,那么它会变得有点棘手——试着将MouseLeftButtonDown事件处理程序附加到图钉上。在事件处理程序中,您可以通过将(sender as Pushpin).DataContext
获取为YourDataItem来获取"数据"。。。