2013-09-05 3 views
1

Я разрабатываю приложение для Windows Phone 8, и у меня возникают проблемы с обработкой событий, когда я нажимаю элемент в longlistselector.Как установить событие для элемента управления в datatemplate, используемом longlistselector

Так что у меня этот шаблон данных:

<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, так как я повторно использовать это в разных страницах.

Я использую этот шаблон данных в longlistselector на странице (page1.xaml):

<phone:LongListSelector x:Name="UserList" ItemTemplate="{StaticResource InfoDataTemplate}" SelectionChanged="List_SelectionChanged" ItemRealized="List_ItemRealized">       

Намеченное поведение является то, что, когда я нажимаю изображение в шаблоне я перейдите на страницу A, когда Я обращаюсь в другое место в шаблоне данных, я перехожу на страницу B. Возможно ли это? Если да, то как мне его реализовать? Спасибо

ответ

1

Это можно реализовать. Вам нужно сделать следующее

  • Добавить событие водопроводного для изображения, скажем ImageTapped
  • Добавить событие водопроводного для LonglistSelector ListItemTapped

Теперь, когда вы нажимаете на изображении, оно будет вызывать Первое событие ImageTapped (вам нужно установить флаг здесь), а затем он вызывает событие ListItemTapped (вы можете проверить, установлен ли флаг) и затем действовать соответственно. Не забудьте сбросить флаг в событии ListItemTapped.

Смежные вопросы