Question

J'ai ce LongListSelector lié à observerableCollection

<DataTemplate x:Key="ucItems" >
     <Grid Margin="0,0,0,17">
          <TextBlock Text="{Binding Title}" TextWrapping="Wrap" 
                     Style="{StaticResource MyBigBoldPhoneTextStyle}" />
     </Grid>
</DataTemplate>

et

<toolkit:LongListSelector x:Name="ucLongList" IsFlatList="True" 
     ItemsSource="{Binding UcItem}" 
     ItemTemplate="{StaticResource ucItems}" 
     ListHeaderTemplate="{StaticResource ucHeader}" 
     SelectionChanged="ListBox_SelectionChanged" />

UcItem a 3 propriétés qui sont: Title, ImageUri, Link

J'ai besoin d'obtenir la propriété selected-ucItem-Link pour la transmettre à d'autres méthodes. Comment puis je faire ça?

Je suis nouveau sur LongListSelector et j'avais l'habitude d'obtenir une propriété sélectionnée de SelectedIndex à partir de la zone de liste.Et il n'y a pas de selectedIndex dans LongListSelector, donc je dois utiliser SelectedItem pour obtenir la propriété unique dessus.

Merci de nous aider.

Était-ce utile?

La solution

Voici le xaml pour DateTemplate

<DataTemplate x:Key="ucItems" >
    <Grid Margin="0,0,0,17">
        <TextBlock Text="{Binding Title}" TextWrapping="Wrap"
                   Tag="{Binding}"
                   Style="{StaticResource MyBigBoldPhoneTextStyle}" />
    </Grid>
</DataTemplate>

Maintenant pour codebehind.Lorsque vous parcourez les éléments sélectionnés

var tbSender = (TextBlock)sender;
var theReference = (UcItem)tbSender.Tag;
Messagebox.Show(theReference.Link);

De cette façon, le L'attribut Tag fera référence à l'instance d'UcItem.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top