如何获取LongListSelector selectedItem的单个字符串属性

时间:2012-01-15 17:39:49

标签: windows-phone-7 windows-phone-7.1 silverlight-toolkit selecteditem longlistselector

我将此LongListSelector绑定到observerableCollection

<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个属性:Title,ImageUri,Link

我需要获取selected-ucItem-Link属性以将其传递给其他方法。 我怎样才能做到这一点?

我是LongListSelector的新手,我曾经从列表框中的SelectedIndex中获取一个选定的属性。并且LongListSelector中没有selectedIndex,所以我必须使用SelectedItem来获取它的单个属性。

请帮助谢谢。

1 个答案:

答案 0 :(得分:0)

这是DateTemplate的xaml

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

现在是代码隐藏。循环选择项目时

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

这样Tag属性将引用UcItem的实例。