Получить выбранное значение списка и сбросить выбранное значение индекса в C # Windows Phone 7 - PullRequest
1 голос
/ 02 августа 2011

Я пытаюсь получить значение выбранного элемента и сохранить его в переменной.

А затем сбросить выбранный индекс списка в -1 , чтобы при i перейти обратно на эту страницу, в списке не будет отображаться ничего, что было выбрано ранее .

Ниже приведен мой код:

Но когда выбранный индекс сбрасывается на -1 ошибка будет sortedTimeListBox.Items [selectedIndexOfSchedule] .ToString ();потому что selectedIndexOfSchedule стал -1 .

Что я хочу, это , просто получить значение и перейти на следующую страницу.И индекс -1 просто для сброса выбранного значения из списка .

Как мне это сделать?

private void scheduleListBox_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
{
        //Get the value of selected index in scheduleListBox
        int selectedIndexOfSchedule = scheduleListBox.SelectedIndex;

        if (sortedSelectedValue.Text == "")
        {
            string selectedValueText = sortedTimeListBox.Items[selectedIndexOfSchedule].ToString();
            MessageBox.Show("selectedValueText : " + sortedSelectedValue.Text);
        }
        else
        {
            MessageBox.Show("Empty");
        }

        NavigationService.Navigate(new Uri("/ViewScheduleDetails.xaml?selectedIndexOfSchedule=" + selectedIndexOfSchedule + "&selectedFolderName1=" + fullFolderName + "&passToDelete=" + selectedFolderName, UriKind.Relative));
        scheduleListBox.SelectedIndex = -1;

}

1 Ответ

2 голосов
/ 02 августа 2011

Вы можете просто добавить проверку, чтобы увидеть, является ли значение -1.

private void scheduleListBox_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
{
    //Get the value of selected index in scheduleListBox
    int selectedIndexOfSchedule = scheduleListBox.SelectedIndex;

    if(selectedIndexOfSchedule != -1)
    {
        if (sortedSelectedValue.Text == "")
        {
            string selectedValueText = sortedTimeListBox.Items[selectedIndexOfSchedule].ToString();
            MessageBox.Show("selectedValueText : " + sortedSelectedValue.Text);
        }
        else
        {
            MessageBox.Show("Empty");
        }

        NavigationService.Navigate(new Uri("/ViewScheduleDetails.xaml?selectedIndexOfSchedule=" + selectedIndexOfSchedule + "&selectedFolderName1=" + fullFolderName + "&passToDelete=" + selectedFolderName, UriKind.Relative));
        scheduleListBox.SelectedIndex = -1;
    }

}
...