繁体   English   中英

当前上下文中不存在名称“InitializeComponent”

[英]The name 'InitializeComponent' doesn't exist in the current context

我知道这个错误有很多答案,但它们都是一些系统错误或类似的东西。 我刚刚创建了这个应用程序,它运行良好。 然后我添加了一个视图模型来处理我在注册和登录页面之间的导航以及在 login/register.xaml 我更新了文本以了解我在哪个页面上。 但现在InitializeComponent无法识别。

我只放了注册页面,因为登录名是相同的,但有登录名:

using Xamarin.Forms;

namespace Appointments.Views
{
    public partial class RegisterPage : ContentPage
    {
        public RegisterPage()
        {
            InitializeComponent();
        }
    }
}

和视图模型:

using Appointments.Views;
using MvvmHelpers;
using MvvmHelpers.Commands;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;

namespace Appointments.ViewModels
{
    public class RegLogViewModel : BaseViewModel
    {   
        public AsyncCommand GoToRegisterCommand;
        public AsyncCommand GoToLoginCommand;
        RegLogViewModel()
        {
            GoToLoginCommand = new AsyncCommand(GoToLogin);
            GoToRegisterCommand = new AsyncCommand(GoToRegister);
        }

        async Task GoToRegister()
        {
            await Shell.Current.GoToAsync($"//{ nameof(RegisterPage)}");
        }

        async Task GoToLogin()
        {
            await Shell.Current.GoToAsync($"//{ nameof(LoginPage)}");
        }   
    }
}

并注册.xaml:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="Appoitments.Views.RegisterPage">
    
    <ContentPage.Content>
        <StackLayout>
            <Label 
                Text="Register Page!"
                BackgroundColor="Blue"
                VerticalOptions="CenterAndExpand" 
                HorizontalOptions="CenterAndExpand" />

            <Button
                Text="Go To Login"
                Command="{Binding GoToLoginCommand}"/>
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

Register.xaml中存在拼写错误,导致 xaml 和Register class 的 cs 部分定义之间存在不同的命名空间。

你有

x:Class="Appoitments.Views.RegisterPage"

代替

x:Class="Appointments.Views.RegisterPage"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM