Xamarin 表单中的注册项目错误
Posted
技术标签:
【中文标题】Xamarin 表单中的注册项目错误【英文标题】:Registration project error in Xamarin forms 【发布时间】:2022-01-21 19:34:28 【问题描述】:我是新来的,也是编码新手。我刚刚尝试了 YT 的这个小项目。我复制了所有内容,但无法弄清楚错误有什么问题。 ('x' 是一个未声明的前缀。)
提前致谢!
<Grid Margin="20,0,20,0" VerticalOptions="CenterAndExpand">
<Grid.RowDefinitions>
<RowDefinition Height ="Auto"/>
<RowDefinition Height ="Auto"/>
<RowDefinition Height ="Auto"/>
<RowDefinition Height ="Auto"/>
<RowDefinition Height ="Auto"/>
</Grid.RowDefinitions>
<StackLayout Grid.Row ="0">
<Entry Placeholder ="UserName" FontSize ="16" x:Name =" EntryUserName"/>
</StackLayout>
<StackLayout Grid.Row="1">
<Entry Placeholder ="PassWord" IsPassword="true" FontSize ="16" x:Name =" EntryUserPassword"/>
</StackLayout>
<StackLayout Grid.Row="2">
<Entry Placeholder ="Email" FontSize ="16" x:Name =" EntryUserEmail"/>
</StackLayout>
<StackLayout Grid.Row="3">
<Entry Placeholder ="PhoneNumber" FontSize ="16" x:Name =" EntryUserPhoneNumber"/>
</StackLayout>
<StackLayout Grid.Row="4">
<Button Text="Register" HorizontalOptions="CenterAndExpand" WidthRequest="100" TextColor="White" BackgroundColor="Blue" Clicked="Handle_Clicked"/>
</StackLayout>
</Grid>
</StackLayout>
【问题讨论】:
【参考方案1】:你的Entry的Name
属性值以空格为前缀,不合理。
您可以将其替换为其他有效字符。
例如:
替换
<StackLayout Grid.Row ="0">
<Entry Placeholder ="UserName" FontSize ="16" x:Name =" EntryUserName"/>
</StackLayout>
与:
<StackLayout Grid.Row ="0">
<Entry Placeholder ="UserName" FontSize ="16" x:Name ="mEntryUserName" />
</StackLayout>
其他条目的名称类似。
请参考以下代码:
<StackLayout>
<Grid Margin="20,0,20,0" VerticalOptions="CenterAndExpand" >
<Grid.RowDefinitions>
<RowDefinition Height ="Auto"/>
<RowDefinition Height ="Auto"/>
<RowDefinition Height ="Auto"/>
<RowDefinition Height ="Auto"/>
<RowDefinition Height ="Auto"/>
</Grid.RowDefinitions>
<StackLayout Grid.Row ="0">
<Entry Placeholder ="UserName" FontSize ="16" x:Name ="mEntryUserName" />
</StackLayout>
<StackLayout Grid.Row="1">
<Entry Placeholder ="PassWord" IsPassword="true" FontSize ="16" x:Name ="mEntryUserPassword"/>
</StackLayout>
<StackLayout Grid.Row="2">
<Entry Placeholder ="Email" FontSize ="16" x:Name ="mEntryUserEmail"/>
</StackLayout>
<StackLayout Grid.Row="3">
<Entry Placeholder ="PhoneNumber" FontSize ="16" x:Name ="mEntryUserPhoneNumber"/>
</StackLayout>
<StackLayout Grid.Row="4">
<Button Text="Register" HorizontalOptions="CenterAndExpand" WidthRequest="100" TextColor="White" BackgroundColor="Blue" Clicked="Button_Clicked"/>
</StackLayout>
</Grid>
</StackLayout>
然后在YourPage.xaml.cs
,你可以访问你在函数Button_Clicked
中的入口,如下:
private void Button_Clicked(object sender, EventArgs e)
System.Diagnostics.Debug.WriteLine("User Name is : " + mEntryUserName.Text +"<---> PassWord is = " + mEntryUserPassword.Text);
【讨论】:
以上是关于Xamarin 表单中的注册项目错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 System.Timers 和 Sysem.Json 的 Xamarin 表单错误
使用 Xamarin.Mobile 读取 Xamarin 表单中的联系人时出错
Xamarin 表单 - Java.Interop.lz4 访问被拒绝错误