Domanda

Ho questo LongListSelector legato a ObserVableCollection

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

e

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

Ucitem ha 3 proprietà che sono: titolo, imageuri, link

Ho bisogno di far passare la proprietà selezionata-ucipitem-link ad altri metodi. Come lo posso fare?

Sono nuovo a LongListSelector e ho usato per ottenere una proprietà selezionata da SelectedIndex da ListBox. E non esiste un IndelectEx Selected in LongListSelector, quindi devo usare SelectedItem per ottenere la proprietà singola su di essa.

Per favore aiutatemi grazie.

È stato utile?

Soluzione

Ecco XAML per DateTemplate

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

Ora per CodeBehind. Quando si aggirano i SelectedItems

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

Quindi in questo modo il Etichetta L'attributo farà riferimento all'istanza di Ucitem.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top