Xamarin/Visual studio for Mac:axml 文件未出现在 intellisense Class 文件中并在构建时抛出错误

Xamarin/Visual studio for Mac: axml file does not appear in intellisense Class file and throw error on build

大家好,我正在 Visual studio 上使用 C# 为 Mac/Xamarin 编写应用程序,我正在尝试将名为 "Dialog_SignUp" 的 axml 文件(布局)添加到我的 class 来调用它,但我不明白为什么我的 intellisense 无法识别它,当我尝试构建它时出现错误“资源布局不包含 [=38= 的定义] (CS0117)".

显然我的文件存在,它在文件夹 resource/layout/Dialog_SigbnUP.axml 上,所以我对 google 做了一些研究,但我发现什么都没有,或者我没有在 google.

上输入正确的关键词

希望有人能帮助我。谢谢。

我的ClassDialogSignUp.cs:

using System;
using Android.App;
using Android.Widget;
using Android.OS;
using Android.Views;
using Android.Runtime;

namespace LoginSystem
{
    public class DialogSignUp : DialogFragment
    {
        public DialogSignUp()
        {
        }

        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            base.OnCreateView(inflater, container, savedInstanceState);

            var view = inflater.Inflate(Resource.Layout.Dialog_SignUp, container, false);

            return view;
        }
    }
}

我的ClassDialog_SignUp.axml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="#DEDEDC"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:minWidth="300dp"
    android:minHeight="400dp">
    <EditText
        android:id="@+id/txtFirstName"
        android:layout_width="match_parent"
        android:layout_height="35dp"
        android:background="@drawable/edit_text_style"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="25dp"
        android:hint="First Name"
        android:paddingLeft="10dp"
        android:textColor="#000" />
    <EditText
        android:layout_below="@id/txtFirstName"
        android:inputType="textEmailAddress"
        android:layout_width="match_parent"
        android:layout_height="35dp"
        android:id="@+id/txtEmail"
        android:background="@drawable/edit_text_style"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:hint="Email"
        android:paddingLeft="10dp"
        android:textColor="#000" />
    <EditText
        android:inputType="textPassword"
        android:layout_width="match_parent"
        android:layout_height="35dp"
        android:id="@+id/txtPassword"
        android:background="@drawable/edit_text_style"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:hint="Password"
        android:paddingLeft="10dp"
        android:textColor="#000"
        android:layout_below="@id/txtEmail" />
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/txtPassword"
        android:layout_marginTop="50dp">
        <Button
            android:text="Sign Up!"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/btnDialogEmail"
            android:textSize="20dp"
            android:textColor="#fff"
            android:textStyle="bold"
            android:paddingLeft="5dp"
            android:paddingBottom="5dp"
            android:paddingRight="5dp"
            android:height="70dp"
            android:paddingTop="2dp"
            android:background="@drawable/ButtonSignUpStyle"
            android:layout_centerHorizontal="true"
            android:layout_marginLeft="30dp" />
    </RelativeLayout>
</RelativeLayout>

在你那里,我会用 小写下划线 更改文件名,例如 "dialog_signup.axml"。理论上两种约定都应该是正确的,但我总是使用带下划线的小写字母。

其次,检查您的 .csproj 中是否包含文件。应该是这样的:

<AndroidResource Include="Resources\layout\dialog_signup.axml" />

<AndroidResource Include="Resources\layout\dialog_signup.axml">
    <SubType>Designer</SubType>
</AndroidResource>

第三,检查Resource.designer.cs中是否有这样一行:

public const int dialog_signup = [int];

也许您只需要重新构建 Resource.designer.cs