我有一个问题,我不知道如何解决。
我有一个可观察的集合,我在文本框中键入时过滤项目,问题是当我选择过滤的项目时,我得到错误的选择索引。
例如,在过滤实际选定的索引为 2 后,我有一个项目,但因为它在我键入时设置集合,如果剩下的唯一过滤项目是 1,它会将索引设置为 1。
那么如何选择正确的项目。就像在邮件应用程序中一样,让我的问题更容易理解
这是选择更改事件:
private void searchToDoItemsListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (searchToDoItemsListBox.SelectedIndex == -1)
return;
NavigationService.Navigate(new Uri("/DetailsPage.xaml?selectedItemSearch=" + searchToDoItemsListBox.SelectedIndex, UriKind.Relative));
searchToDoItemsListBox.SelectedIndex = -1;
}
这是详细信息页面:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
if (NavigationContext.QueryString.TryGetValue("selectedItemSearch", out selectedIndexSearch))
{
int indexSearch = int.Parse(selectedIndexSearch);
DataContext = App.ViewModel.AllToDoItems[indexSearch];
}
}