我的ListBox与CollectionView源绑定(bind)。当我更改过滤器时,它会自动选择 Listox 中的第一项。
App.ViewModel.TasksViewSource.Filter += new System.Windows.Data.FilterEventHandler(Tasks_Filter);
void Tasks_Filter(object sender, System.Windows.Data.FilterEventArgs e)
{
if (e.Item == null)
return;
Task task = e.Item as Task;
e.Accepted = task.Id.Equals(TaskId);
}
private void MainListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (TasksListBox.SelectedIndex == -1)
return;
Task selectedTask = App.ViewModel.AllTasks[TasksListBox.SelectedIndex];
TasksListBox.SelectedIndex = -1;
NavigationService.Navigate(new Uri("/Views/TaskDetailsPage.xaml?taskId=" + selectedTask.Id, UriKind.Relative));
}
请帮助我。
最佳答案
设置您的列表框 IsSynchronizedWithCurrentItem="False"。
关于windows-phone-7 - 选择 CollectionViewSource.Filter 上列表框中的第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5229648/