C# WP 8.1 RT上的MapItemsControl抽头事件
我正在从事Windows Phone 8.1 RT项目,我想在点击mapcontrolSP时获取我的绑定项C# WP 8.1 RT上的MapItemsControl抽头事件,c#,windows,windows-runtime,windows-phone-8.1,bing-maps,C#,Windows,Windows Runtime,Windows Phone 8.1,Bing Maps,我正在从事Windows Phone 8.1 RT项目,我想在点击mapcontrolSP时获取我的绑定项 <Maps:MapControl x:Name="Map" MapServiceToken="abcdef-abcdefghijklmno"> <Maps:MapItemsControl x:Name="mapitem" ItemsSource="{Binding}"> <Maps:MapItemsControl
<Maps:MapControl x:Name="Map" MapServiceToken="abcdef-abcdefghijklmno">
<Maps:MapItemsControl x:Name="mapitem" ItemsSource="{Binding}">
<Maps:MapItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel x:Name="mapcontrolSP" Orientation="Horizontal" Background="Red" Tapped="ItemStckPanel">
<Image Source="Assets/ico-venue.png" Height="45" Width="45"
Maps:MapControl.Location="{Binding Geopoint}"
Maps:MapControl.NormalizedAnchorPoint="{Binding Anchor}"/>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Margin="5">
<TextBlock FontSize="15" Foreground="White" Text="{Binding name}"/>
<TextBlock FontSize="15" Foreground="White" Text="{Binding address}"/>
<TextBlock FontSize="15" Foreground="White" Text="{Binding distance}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</Maps:MapItemsControl.ItemTemplate>
</Maps:MapItemsControl>
</Maps:MapControl>
如何获取项目?快速解决方案:
private void ItemStckPanel(object sender, TappedRoutedEventArgs e)
{
var stackPanel = sender as StackPanel;
var item = stackPanel.DataContext as FsqBasicItem;
if(item != null)
{
MessageDialog dialog = new MessageDialog(item.name);
dialog.ShowAsync();
}
}
又是例外。现在stackpanel为空。我使用此行绑定mapitem.ItemsSource=basicItemsList;嗯,你能给我看看代码里的样子吗?因为在我的测试解决方案中,这段代码:运行得非常好。嗯,我在emulator上检查了这段代码(不幸的是,目前还没有设备),它对我很有效。这是我的解决方案:也许你发现了什么:)你的解决方案很完美。我的FsqbasicClass不太好用。你的课对我很好。谢谢:)请随时查看,这是你想要的。我还没有找到解决办法
private void ItemStckPanel(object sender, TappedRoutedEventArgs e)
{
var stackPanel = sender as StackPanel;
var item = stackPanel.DataContext as FsqBasicItem;
if(item != null)
{
MessageDialog dialog = new MessageDialog(item.name);
dialog.ShowAsync();
}
}