2017-05-30 4 views
0

Ich versuche zu Navigation.PushAsync verwendet, um zu einer neuen Seite in meiner Xamarin Forms-Anwendung zu gehen. Ich habe eine Seite namens InvMachineryItem.xaml im selben Ordner wie die Seite, auf der ich mich gerade befinde.Xamarin - Typ oder Namespace Name konnte nicht gefunden werden

In meiner aktuellen Seite habe ich eine Liste. Wenn auf die Liste geklickt wird, sollte die neue Seite geöffnet werden.

Hier ist mein Code:

 using myCoolApp.Views; //folder with the pages in it 

    async void navigateView() 
    { 
     Page page = new InvMachineryItem(); 
     await Navigation.PushAsync(page); 
    } 

    void machineList_ItemSelected(object sender, SelectedItemChangedEventArgs e) 
    { 
      navigateView(); 
      //...more stuff 
    } 

Das Problem, das ich einen Fehler erhalte ist:

The type or namespace name "InvMachineryItem' could not be found (are you missing a using directive or an assembly reference?) 

Ich bin verwirrt, weil sie im selben Ordner sind, und ich bin der Umsetzung auch eine using Aussage auch.

Weiteren Kontext, hier ist die InvMachineryItem.xaml.cs Klasse

namespace myCoolApp.Views.Inventory 
{ 
    [XamlCompilation(XamlCompilationOptions.Compile)] 
    public partial class InvMachineryItem : ContentPage 
    { 
     List<ListTemplate> viewButtons = new List<ListTemplate>(); 
     SessionData viewModel; 
     public InvMachineryItem() 
     { 
      InitializeComponent(); 
      viewModel = ViewModelLocator.Session; 
      NavigationPage.SetHasNavigationBar(this, false); 

      viewButtons.Add(new ListTemplate("view.png", "View", true, true)); 
      viewButtons.Add(new ListTemplate("edit.png", "Edit", true, true)); 
      viewButtons.Add(new ListTemplate("AddMaintenance.png", "Add Maintenance", true, true)); 
     } 
    } 
} 
+0

Können Sie auch die Klasse von InvMachineryItem teilen? Vielen Dank! – mindOfAi

+0

Sicher, ein Moment –

+0

InvMachineryItem ist in myCoolApp.Views.Inventory, sollten Sie diese Anweisung mit dem Stopp der anderen Datei hinzufügen, oder ändern Sie sie so, dass sie beide im gleichen Namespace sind – Jason

Antwort

1

Derzeit InvMachineryItem Leben auf myCoolApp.Views.Inventory Namespace, so dass die Fix ist, dass Sie die Anweisung using zu using myCoolApp.Views.Inventory ändern sollten.

Zweite Lösung, nur für den Fall, dass Ihr InvMachineryItem in myCoolApp.Views leben soll, müssen Sie den Namespace in myCoolApp.Views.Inventory ändern und auch den Namespace auf Ihrem XAML aktualisieren.

Die erste Lösung ist viel einfacher, Sie sollten es verwenden.

Hoffe es hilft!

+1

Vielen Dank! Ich war dumm, davon auszugehen, dass wenn ich den übergeordneten Ordner, den es unterschreiben würde, enthalten würde. Ich werde Ihre Antwort als Antwort in 1 Minute markieren, wenn der Timer abgelaufen ist! –

+0

Großartig! Viel Glück mit Ihrer Entwicklung! :) – mindOfAi

Verwandte Themen