[英]Xamarin/Visual studio for Mac: axml file does not appear in intellisense Class file and throw error on build
大家好,我正在使用C#在Visual Studio for Mac / Xamarin上编写应用程序,并且试图将名为“ Dialog_SignUp”的axml文件(布局)添加到类中以进行调用,但我不明白为什么我的intellisense会这样做无法识别它,并且在尝试构建它时出现错误,提示“ 资源布局不包含Dialog_SignUp(CS0117)的定义 ”。
显然,我的文件存在并且位于文件夹resource / layout / Dialog_SigbnUP.axml上 ,因此我在google上进行了一些研究,但未找到任何内容,或者未在google上输入正确的关键词。
希望可以有人帮帮我。 谢谢。
我的班级DialogSignUp.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;
}
}
}
我的课堂Dialog_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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.