我正在开发一款Windows Phone 8应用,当我点击长列表选择器中的某个项目时,我无法处理事件。
所以我有这个数据模板:
<DataTemplate x:Key="InfoDataTemplate">
<Grid Margin="12,0,12,0" Width="auto">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image x:Name="UserAvatar" Margin="0,12,0,0" Grid.Row="0" Grid.Column="0" Grid.RowSpan="3" Source="{Binding user.avatar_url}" VerticalAlignment="Top"/>
<TextBlock x:Name="Username" Margin="12,0,0,0" Text="{Binding user.username}" Grid.Row="0" Grid.Column="1" FontSize="24" FontWeight="Bold"/>
我将此数据模板作为app.xaml的一部分,因为我在不同的页面中重复使用它。
我在页面的长列表选择器中使用此数据模板(page1.xaml):
<phone:LongListSelector x:Name="UserList" ItemTemplate="{StaticResource InfoDataTemplate}" SelectionChanged="List_SelectionChanged" ItemRealized="List_ItemRealized">
预期的行为是,当我点击模板中的图像时,我导航到页面A,当我点击数据模板中的任何其他位置时,我导航到页面B.这可能吗?如果是这样,我应该如何实施呢?感谢
答案 0 :(得分:1)
可以实现此行为。 您需要执行以下操作
现在当你点击图像时,它将首先调用ImageTapped事件(你需要在这里设置一个标志),然后它调用ListItemTapped事件(你可以检查是否设置了标志),然后相应地采取行动。不要忘记在ListItemTapped事件中重置标志。