2013-12-22 79 views
0

问题:清除选择 - LongListSelector - Windows Phone

我有一个使用LongListSelector的视频列表。选择视频后,它将启动MediaPlayerLauncher。如果用户按下后退键关闭视频(或者甚至大概在视频到达结尾时),并尝试选择他们刚刚观看的相同视频,则MediaPlayer不会激活(因为选择没有改变,咄!)。

所以...对我的问题有什么建议?

谢谢任何​​人的答案!

+0

同样的问题在这里:http://stackoverflow.com/questions/14215227/longlistselector-item-tap – har07

回答

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的名称。

0

然后不要使用“SelectionChanged”事件。也许使用“点击”事件,这样无论事件是不同的项目还是与之前选择的项目相同,每次轻击项目时都会引发事件。

0
private void LongListSelector_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     // your code here 
     e.AddedItems[0] = null; 
    } 

[编辑]

AddedIems是你选择的项目列表。因此,设置最前一页项目[0]为null取消选择

+0

请尝试添加至少每个答案的基本解释。仅限代码的帖子会自动标记为低质量。 – zero323