Как показать разные страницы, когда приложение запускает время в Windows Phone 7? - PullRequest
9 голосов
/ 12 марта 2012

Когда приложение запускает время, необходимо показать страницу регистрации. Если пользователь зарегистрирован, оно не должно переходить на страницу регистрации, необходимо перейти на страницу входа.Как этого добиться?

Ответы [ 2 ]

14 голосов
/ 12 марта 2012

Вы можете перейти к начальной странице приложения Windows Phone из кода.

Удалить запись «DefaultTask» из WMAppManifest

Удалите атрибут NavigationPage из «DefaultTask» в WMAppManifest, а в событии запуска вашего приложения используйте что-то вроде приведенного ниже примера, чтобы перейти на страницу выбора при запуске.

    private void Application_Launching(object sender, LaunchingEventArgs e)
    {
        if (registered)
        {
           ((App)Application.Current).RootFrame.Navigate(new Uri("/<your start page>.xaml", UriKind.Relative));
        }
        else
        {
           ((App)Application.Current).RootFrame.Navigate(new Uri("/<your registration page>.xaml", UriKind.Relative));
        }

    }

Вам просто нужно решить, как вы хотите определить, кто-то уже зарегистрирован.

1 голос
/ 12 марта 2012

Полагаю, вы об этом не задумывались, настройка довольно проста! Когда пользователь регистрируется, вы можете установить переменную в настройках, определяющую, что пользователь уже зарегистрирован. Когда приложение запустится, оцените этот параметр, и если пользователь зарегистрировался, вы увидите страницу регистрации, в противном случае страницу входа. Пример:

//After (succesful) registration
Properties.Settings.Default.HasRegistered = true; 
Properties.Settings.Default.Save();

//Check the value
var hasRegistered = Properties.Settings.Default.HasRegistered;
if(hasRegistered)
    //show Login
else
    //show Registration

Для этого вы также можете использовать IsolatedStorageSettings.ApplcationSettings. Приведенный ниже код является просто примером кода, вам нужно будет выполнить проверку, если параметры уже существуют при первом запуске приложения, и установить значение по умолчанию «false» для параметра, если регистрация еще не произошла.

//After registration
var settings = IsolatedStorageSettings.ApplicationSettings;
if (settings.Contains("HasRegistered"))
    settings["HasRegistered"] = true;
settings.Save();

//Check value
var settings = IsolatedStorageSettings.ApplicationSettings;
if (settings.Contains("HasRegistered"))
{
    var registered = bool.Parse(settings["HasRegistered"]);
    if(registered)
        //show login
    else
        //show registration
}

Надеюсь, это поможет!

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