从Xamarin背后的代码设置Entry值

时间:2018-05-05 06:02:17

标签: c# xamarin xamarin.forms

我正在尝试从代码隐藏中设置Entry文本值,但我得到" System.NullReferenceException:对象引用未设置为对象的实例。" cs文件中的异常,我试图设置值" Scott"。

这是我的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 :(得分:1)

InitializeComponent()需要先执行,以便XAML膨胀,从而分配组件/对象:

public SettingsPage ()
{
    InitializeComponent(); // First
    InitializeSettings(); // Second
}

答案 1 :(得分:0)

您必须在调用InitializeComponent之前致电InitializeSettings,以便先创建相应的对象,然后修改其属性。