2017-09-24 28 views
0

Salut tout le monde J'écris une application sur Visual studio pour Mac/Xamarin avec C# et j'essaye d'ajouter mon axml fichier (Layout) nommé "Dialog_SignUp" dans ma classe pour l'appeler mais je ne comprends pas pourquoi mon intellisense ne le reconnaît pas et quand j'essaye de le construire j'ai une erreur qui dit "La disposition des ressources ne contient pas une définition de Dialog_SignUp (CS0117) ".Xamarin/Visual Studio pour Mac: le fichier AXML n'apparaît pas dans IntelliSense Class file et erreur de lancement sur la construction

Il est évident que mon dossier existe et il est sur le dossier ressources/mise en page/Dialog_SigbnUP.axml, donc je l'ai fait quelques recherches sur Google, mais je n'ai rien trouvé à ce sujet ou je ne mets pas les bons mots clés sur Google.

J'espère que quelqu'un peut m'aider. Merci.

ma classe 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; 
     } 
    } 
} 

Ma classe 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> 

Répondre

1

En vous, je changerais dans les noms de fichiers en minuscules avec des underscores, comme « dialog_signup .axml ". En théorie les deux conventions devraient être correctes mais j'utilise toujours les minuscules avec des traits de soulignement. Ensuite, vérifiez que dans votre fichier .csproj il y a l'inclusion du fichier. Il devrait y avoir quelque chose comme:

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

ou

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

En troisième lieu, vérifier que dans les Resource.Designer.cs il y a une ligne comme celle-ci:

public const int dialog_signup = [int]; 

Peut-être vous avez besoin tout simplement pour reconstruire le Resource.designer.cs

+0

Merci de vérifier cela quand je rentrerai à la maison! Mais je suis sûr que vous avez raison à ce sujet. Je n'ai pas pensé à reconstruire le resource.designer !!! – Nehoss