Windows Phone 7: рекомендуется управление меню? - PullRequest
0 голосов
/ 22 октября 2010

Какой лучший способ составить меню настроек в wp7? (Не контекстное меню или панель приложения.) В настоящее время я использую ListBox строк, но я не уверен, что так будет.

Я также не совсем уверен, как заставить записи ListBox реагировать на нажатие так, чтобы они переходили на другую страницу.

Ответы [ 2 ]

1 голос
/ 24 октября 2010

Для простого меню я использовал несколько раз что-то вроде следующего.

<ListBox SelectionChanged="LinkSelected">
    <ListBoxItem Name="EnterCode" >
        <TextBlock Text="Enter Code"  />
    </ListBoxItem>
    <ListBoxItem Name="Login" >
        <TextBlock Text="Login" />
    </ListBoxItem>
    <ListBoxItem Name="Register" >
        <TextBlock Text="Register" />
    </ListBoxItem>
</ListBox>

А потом что-то вроде этого в обработчике событий:

private void WelcomeLinkSelected(object sender, SelectionChangedEventArgs e)
{
    if (sender is ListBox)
    {
        if ((sender as ListBox).SelectedIndex < 0)
        {
            return;
        }

        if ((sender as ListBox).SelectedIndex == 0)
        {
            NavigationService.Navigate(new Uri("/EnterCode.xaml", UriKind.Relative));
        }

        if ((sender as ListBox).SelectedIndex == 1)
        {
            NavigationService.Navigate(new Uri("/Login.xaml", UriKind.Relative));
        }

        if ((sender as ListBox).SelectedIndex == 2)
        {
            NavigationService.Navigate(new Uri("/Register.xaml", UriKind.Relative));
        }

        // This is very important!
        (sender as ListBox).SelectedIndex = -1;
    }
}

Если вы сделаете это, последняя строка в обработчике событий, которая сбрасывает SelectedIndex, очень важна, так как позволяет одному и тому же пункту меню выбираться несколько раз подряд без предварительного выбора другого параметра.

0 голосов
/ 23 октября 2010

Вы можете добавить прослушиватель к событию изменения выбора в списке, а затем использовать NavigationService для навигации в любом месте на основе выбранного элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...