Показать имя пользователя на другой странице?Ошибка кода - PullRequest
0 голосов
/ 21 февраля 2019

Код уже создан, но выдает небольшую ошибку.Этот код используется для сохранения имени пользователя на первой странице входа.

public void SaveSetting(string userLabel, string userNamelabel)
    {
        ApplicationDataContainer localSettings =
        ApplicationData.Current.LocalSettings;
        //Saving your setting  
        localSettings.Values[userLabel] = textBoxUsername.Text;
    }

На домашней странице у меня есть

public home()
    {
        this.InitializeComponent();
        UserNameLabelBox.Text = ReadSetting(userLabel);
    }



private string ReadSetting(string userLabel)
    {
        Windows.Storage.ApplicationDataContainer localSettings =
        Windows.Storage.ApplicationData.Current.LocalSettings;
        //Reading and returning your setting value
        var value = localSettings.Values[userLabel];
        if (value != null)
            return value.ToString();
        else
            return userLabel;

Строка ниже компонента инициализации выделена красным и говорит: «UserLabel не существует в этом текущем контексте».

1 Ответ

0 голосов
/ 21 февраля 2019

Похоже, вы никогда не устанавливали значение из переменной userLabel на своей домашней странице в переменную, которую можно увидеть с другой страницы.

Я бы добавил общедоступную глобальную переменную на страницу входа в систему с именемpublic string globalUserLabel ; тогда я бы назвал это домашним методом на домашней странице.

как:

public string globalUserLabel;

public void SaveSetting(string userLabel, string userNamelabel)
    {
        globalUserLabel = userLabel;
        ApplicationDataContainer localSettings =
        ApplicationData.Current.LocalSettings;
        //Saving your setting  
        localSettings.Values[userLabel] = textBoxUsername.Text;
    }


public home()
    {
        this.InitializeComponent();
        UserNameLabelBox.Text = ReadSetting(LoginPage.globalUserLabel );
    }

ИЛИ

вы можете создать globalVariable класс и сохранить информацию о вашем пользователе в этом классе и вызвать этот конкретныйкласс, когда это необходимо.

Это будет выглядеть как

public class globalVariable {

public string userlabel {get; set;};

}

, затем

public void SaveSetting(string userLabel, string userNamelabel)
    {
        globalVariable.userlabel = userLabel;
        ApplicationDataContainer localSettings =
        ApplicationData.Current.LocalSettings;
        //Saving your setting  
        localSettings.Values[userLabel] = textBoxUsername.Text;
    }

и, наконец,

public home()
    {
        this.InitializeComponent();
        UserNameLabelBox.Text = ReadSetting(globalVariable.userlabel);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...