none
InitializeComponent() wird nicht erkannt RRS feed

  • Frage

  • Hallo Community, 

    ich bin ein Entwickler der bereits mit verschiedenen Sprachen und verschiedenen Pattern gearbeitet hat. 
    Nun möchte ich mich gerne in die MobilApp-Entwicklung einarbeiten und habe mir einige Tutorials angesehen. 

    Ich habe also mit VS 2019 ein neues Projekt "MyApp" mit Xamarin.Forms erstellt und dabei das Template mit dem vorgefertigten Flyout-Menü gewählt. Ich konnte die App auch sofort kompilieren und auf meinen Android-Smartphone starten. Bis hierhin hat alles gut geklappt. Nun möchte ich aber eine neue Page erstellen. Ich habe also im Ordner Views eine Datei "MyPagePage.xaml"  und im Ordner ViewModel die Datei "MyPageViewModel" erstellt. 
    In der "MyPagePage.xam.cs" wurde automatisch der Aufruf InitializeComponet() eingefügt. Dieser wird aber vom Debugger nicht erkannt. Meldung: "Der Name InitializeComponent ist im aktuellen Kontext nicht vorhanden"

    In dem Projekt wurden durch das Template bereits einige Pages und ViewModels erstellt an denen ich mich orientiert habe. 
    Hier kann ich soweit keinen Unterschied erkennen. Wenn ich zum Beispiel in der AboutPage.xaml.cs nachsehe, steht der Aufruf InitializeComponent() ebenfalls. Wenn ich hier "Go to Definition" sage, gibt mir VS einen generierten Code aus, den ich so nicht im Projekt finden kann ("AboutPage.xaml.g.cs")

    Kann mir jemand vielleicht sagen, wo mein Fehler liegt, bzw. was ich tun muss, damit das ganze klappt? 

    Ps.: Die neu erstellte Page soll erstmal nichts anderes tun als Labels anzuzeigen. Entsprechende Funktionalitäten kommen erst später.
    Sonntag, 12. März 2023 18:25

Antworten

  • Ich habe den Fehler gefunden!! 
    War ja klar.. Da sucht man den komplette Tag nach dem Fehler und sobald man einmal nach Hilfefragt kommt man selbst auf die Lösung :D :D

    In der "MyPagePage.xaml" datei war in dem Verweis auf die Klasse ein Fehler

    Falsch:
    <?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="MyApp.Views.MyPage"
                 xmlns:vm="clr-namespace:MyApp.ViewModels"
                 Title="{Binding Title}">
    
        <ContentPage.BindingContext>
            <vm:MyPageViewModel />
        </ContentPage.BindingContext>
    
        <ContentPage.Resources>
            <ResourceDictionary>
                <Color x:Key="Accent">#96d1ff</Color>
            </ResourceDictionary>
        </ContentPage.Resources>
    
        <ContentPage.Content>
          <StackLayout>
                <Label Text="Hello Xamarin.Forms!" 
                       TextColor="{StaticResource Primary}"/>
            </StackLayout>
      </ContentPage.Content>
    </ContentPage>

    Richtig:
    <?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="MyApp.Views.MyPagePage"
                 xmlns:vm="clr-namespace:MyApp.ViewModels"
                 Title="{Binding Title}">
    
        <ContentPage.BindingContext>
            <vm:MyPageViewModel />
        </ContentPage.BindingContext>
    
        <ContentPage.Resources>
            <ResourceDictionary>
                <Color x:Key="Accent">#96d1ff</Color>
            </ResourceDictionary>
        </ContentPage.Resources>
    
        <ContentPage.Content>
          <StackLayout>
                <Label Text="Hello Xamarin.Forms!" 
                       TextColor="{StaticResource Primary}"/>
            </StackLayout>
      </ContentPage.Content>
    </ContentPage>

    • Als Antwort markiert Schosch93 Sonntag, 12. März 2023 18:39
    Sonntag, 12. März 2023 18:39