问题:
我有一个使用LongListSelector的视频列表。选择视频后,它会启动MediaPlayerLauncher。如果用户按下后退键以关闭视频(或者,甚至可能在视频到达结束时),并尝试选择他们刚刚观看的相同视频,则MediaPlayer不会激活(因为选择未更改,杜!)。
那么......对我的问题有任何建议吗?
感谢所有回答的人!
答案 0 :(得分:0)
然后不要使用“SelectionChanged”事件。也许使用“点击”事件,以便每次点击项目时都会引发事件,无论它是不同的项目还是与之前选择的项目相同。
答案 1 :(得分:0)
private void LongListSelector_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// your code here
e.AddedItems[0] = null;
}
[编辑]
AddedIems是所选项目的列表。因此,将fisrt项[0]设置为null以取消选择
答案 2 :(得分:0)
e.AddedItems[0] = null;
对我不起作用。但我实际上有答案:
private void videosList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// Make sure the videos actually loaded into the LongListSelector before allowing a selection.
if (e.AddedItems.Count != 0)
{
// If selected item is null (no selection) do nothing
if (videosList.SelectedItem == null)
return;
Video v = videosList.SelectedItem as Video;
App.Current.Resources.Add("video", v);
//NavigationService.Navigate(new Uri("/Pages/VideoPlayer.xaml", UriKind.RelativeOrAbsolute));
LoadVideosMediaLauncher();
// Reset selected item to null (no selection)
videosList.SelectedItem = null;
}
}
videosList是我的LongListSelector的名称。