我正在为WP8应用程序使用LongListSelector。我搜索了几个网站,但没有找到是否有办法知道用户在列表中录制的项目的索引。 如果有人有想法,那就太好了。 感谢
`
<phone:LongListSelector x:Name="ListeNotes" Height="535" Width="426" HorizontalAlignment="Left" VerticalAlignment="Top" FontSize="36" Margin="54,0,0,0">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Titre}"/>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
`
答案 0 :(得分:1)
我会在code-beind或ViewModel中创建(取决于你使用的是什么),公共变量
Public Int32 itemSelectedIndex {get;set;} //This is a public variable, therefore add it inside your class
并将其绑定到SelectedIndex
,如下所示:
<phone:LongListSelector x:Name="ListeNotes" Height="535" Width="426" HorizontalAlignment="Left" VerticalAlignment="Top" FontSize="36" Margin="54,0,0,0" SelectedIndex ="{Binding itemSelectedIndex, UpdateSourceTrigger = PropertyChanged}">
不要忘记在
后面的代码中添加datacontext引用Public void MainWindow()
{
InitializeComponents();
this.DataContext = this;//this makes sure that you can bind public varibles to XAML
}
之后,您只需在代码中的任意位置引用itemSelectedIndex,它就会返回所选值(例如System.Windows.MessageBox.Show(itemSelectedIndex.ToString());
答案 1 :(得分:0)
在处理程序中:
SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles ListeNotes.SelectionChanged`
“发件人”是ListBox
。因此,您只需将“发件人”投射到ListBox
,并使用其SelectedIndex
属性。
Dim listBox As ListBox = CType(sender, ListBox)
Dim tappedIndex = listBox.SelectedIndex
答案 2 :(得分:0)
你可以通过
获得Dim num As Integer = (sender as LonglistSelector).Datasource.IndexOf((sender as LonglistSelector).SelectedItem)
答案 3 :(得分:0)
找不到解决方案...... 实际上我只是说用户不能有两个相同的Note对象,我在List(Of Note)中使用IndexOf方法来获取LongListSelector中SelectedItem的索引。