Установка значения Entry из кода за Xamarin - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь установить текстовое значение Entry из codebehind, но получаю «System.NullReferenceException: ссылка на объект не установлена ​​на экземпляр объекта». Исключение в файле CS, где я пытаюсь установить значение "Скотт".

Это мой XAML-файл:

<ScrollView>
    <StackLayout Margin="40">
        <Label Text="Enter your display name:"/>
        <Entry x:Name="displayNameEntry" />
        <Button Text="Save" />
    </StackLayout>
</ScrollView>

Это мой cs файл

public SettingsPage ()
        {
            InitializeSettings();
            InitializeComponent();
        }

        private void InitializeSettings()
        {
            displayNameEntry.Text = "Scott";            
        }

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Вы должны вызвать InitializeComponent до вызова InitializeSettings, чтобы сначала создать соответствующие объекты, а затем изменить их атрибуты.

0 голосов
/ 05 мая 2018

InitializeComponent() необходимо выполнить сначала, чтобы XAML был раздут и, таким образом, были назначены компоненты / объекты:

public SettingsPage ()
{
    InitializeComponent(); // First
    InitializeSettings(); // Second
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...