【发布时间】:2012-09-18 18:09:44
【问题描述】:
我有一个不知道如何解决的问题。
我有一个可观察的集合,当我在文本框中输入时过滤项目,问题是当我选择过滤的项目时,我得到错误的选择索引。
例如,在过滤实际选定的索引为 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];
}
}
【问题讨论】:
-
whathaveyoutried?。 贴一些代码
-
这是我的选择更改事件 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; } 然后在详细信息页面上我有一个导航到事件
-
请用您评论中的代码更新您的问题
标签: c# .net observablecollection selectedindex