как получить одностроковое свойство LongListSelector selectedItem - PullRequest
0 голосов
/ 15 января 2012

У меня есть этот LongListSelector, связанный с наблюдаемой коллекцией

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

и

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

UcItem имеет 3 свойства: Название, ImageUri, Ссылка

Мне нужно получить свойство selected-ucItem-Link, чтобы передать его другим методам. Как я могу это сделать?

Я новичок в LongListSelector, и я использовал, чтобы получить выбранное свойство из SelectedIndex из списка. И нет никакого selectedIndex в LongListSelector, поэтому я должен использовать SelectedItem, чтобы получить единственное свойство для него.

пожалуйста, помогите спасибо.

1 Ответ

0 голосов
/ 03 февраля 2012

Вот xaml для DateTemplate

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

Теперь для codebehind.Когда вы просматриваете выбранные элементы

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

, таким образом, атрибут Tag будет ссылаться на экземпляр UcItem.

...