Выбранный элемент списка в Windows Phone 7 - PullRequest
0 голосов
/ 17 августа 2011

Я программирую приложение для Windows Phone 7, я создал домашнюю страницу со списком, который содержит все мои элементы, которые являются именами других страниц.Поэтому, когда я нажимаю на элемент, я должен перейти на страницу, но когда я нажимаю, телефон выдает ошибку.

это мой код:

private void NavigateToPages_Click(object sender, EventArgs e)
    {
        if (listBox1.SelectedItem == null) {}
        else
        {
            string uri = listBox1.SelectedItem.ToString();

            switch (uri)
            {
                case "Quadratic Eq.":
                    Navigate("/Pages/EQ.xaml");
                    break;
                case "Average":
                    Navigate("/Pages/Average.xaml");
                    break;
                case "Pythagoras":
                    Navigate("/Pages/pythagoras.xaml");
                    break;
                case "Trigonometry":
                    Navigate("/Pages/Trigon.xaml");
                    break;
                case "Percentage":
                    Navigate("/Pages/Percentoff.xaml");
                    break;
                case "Prime Number":
                    Navigate("/Pages/prime.xaml");
                    break;
                case "Factorize":
                    Navigate("/Pages/Factorize.xaml");
                    break;
                case "GCD & LCD":
                    Navigate("/Pages/GG.xaml");
                    break;
                default:
                    MessageBox.Show("Select a function!");
                    break;
            }
        }

Это дает мне выбрать функцию, но я выбрал элемент, это то же самое в моем приложении.Я написал этот код, потому что нет элемента списка событий прав

Ответы [ 2 ]

3 голосов
/ 18 августа 2011

Вы должны использовать SelectionChanged событие ListBox, а не метод, который вы используете.

В xaml:

 <ListBox SelectionChanged="ListBoxSelectionChanged" >

        </ListBox>

в вашем файле xaml.cs:

  private void ListBoxSelectionChanged(object sender, SelectionChangedEventArgs e)
            {
                ListBox lb = ((ListBox) sender);
                if (lb.SelectedIndex == -1)
                    return;

 string uri = lb.SelectedItem.ToString();

            switch (uri)
            {
                case "Quadratic Eq.":
                    Navigate("/Pages/EQ.xaml");
                    break;
                case "Average":
                    Navigate("/Pages/Average.xaml");
                    break;
                case "Pythagoras":
                    Navigate("/Pages/pythagoras.xaml");
                    break;
                case "Trigonometry":
                    Navigate("/Pages/Trigon.xaml");
                    break;
                case "Percentage":
                    Navigate("/Pages/Percentoff.xaml");
                    break;
                case "Prime Number":
                    Navigate("/Pages/prime.xaml");
                    break;
                case "Factorize":
                    Navigate("/Pages/Factorize.xaml");
                    break;
                case "GCD & LCD":
                    Navigate("/Pages/GG.xaml");
                    break;
                default:
                    MessageBox.Show("Select a function!");
                    break;
            }


                lb.SelectedIndex = -1;
            }
1 голос
/ 16 марта 2012

Вы должны использовать элемент управления Hyperlink, чтобы целевая страница уже была в элементе списка.Также вы можете связать это с динамическим источником данных.

Например:

                           <HyperlinkButton NavigateUri="/Factorize.xaml"
                                         Style="{StaticResource HyperlinkEmptyStyle}"
                                         DataContext="{Binding}">
                            <localControls:HeaderedContentControl Style="{StaticResource MultilineHyperlinkStyle}"
                                                                  Header="{Binding Resources.menu_01}"
                                                                  Content="{Binding Resources.menu_02}"/>
                        </HyperlinkButton>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...