2012-04-22 14 views
11

Sto avviando learning XAML e aggiungo del codice all'applicazione BlankPage. E improvvisamente un costruttore che sta inizializzando un componente:Il costruttore di BlankPage non può inizializzare i componenti

public BlankPage() 
    { 
     this.InitializeComponent(); 
    } 

Smettere di funzionare. Ho ora che errore:

'BlankApplication.BlankPage' does not contain a definition for 'InitializeComponent' and no extension method 'InitializeComponent' accepting a first argument of type 'BlankApplication.BlankPage' could be found (are you missing a using directive or an assembly reference?)

Onestamente io non ho fatto niente, non ho nemmeno guardare questa parte del codice e ora non funziona.

Screenshot:

+0

E anche se avvio un nuovo progetto, c'è ancora questo errore. – r9s

+0

Hai detto che hai aggiunto del codice. Cosa hai aggiunto? – McGarnagle

+0

Problema risolto, non ho modificato il nome dell'applicazione personalizzata nel codice xaml. – r9s

risposta

-3

Problema risolto. Causa: ho dimenticato di cambiare anche il nome dell'applicazione personalizzata nel codice xaml. Soluzione: ho cambiato il nome dell'applicazione in XAML, ora funziona bene.

+0

-1. Se hai intenzione di rispondere alla tua stessa domanda, dovresti rispondere con la stessa qualità con cui risponderesti alla domanda di qualcun altro. – Sinaesthetic

+0

se non "hai" così come lo hai risolto? – Hatim

+0

cambiandolo. Non l'ho fatto prima e questo era il problema. – r9s

11

Giusto per dare un po 'più di informazioni su come risolvere il problema (dal momento che questa spiegazione è un po' sul lato vaga) ..

Questo problema (per me) è stato causato perché ho cambiato lo spazio dei nomi in codice dopo aver creato il progetto. Al fine di risolvere questo problema ho dovuto fare alcuni cambiamenti in un paio di posizioni:

1: In App.xaml ho dovuto cambiare la seguente:

<Application 
    x:Class="New.Namespace.App" 

2: In MainPage.xaml ho avuto per modificare la seguente:

<Page 
    x:Class="New.Namespace.MainPage" 

si vuole anche fare in modo che si cambia la linea di 'namespace' nelle vostre App.xaml.cs così come i vostri MainPage.xaml.cs.

Infine, si desidera anche assicurarsi di aggiornare il punto di accesso del progetto in Package.appxmanifest in modo che punti a "New.Namespace.App".

+0

Il mio problema era un errore invisibile mostrato nella parte inferiore della pagina MainPage.xaml. – peterincumbria

+0

Ho aggiunto una ContentDialog nel progetto sbagliato nella mia soluzione e, quando l'ho spostato, non ho modificato lo spazio dei nomi in XAML. Questo mi ha fatto capire il problema. Grazie! – dex3703

2

Questo succede quando si modifica uno spazio dei nomi per una classe, è necessario fare lo stesso all'interno del file XAML.

Ci sono due posizioni all'interno del file XAML con il vecchio spazio dei nomi.

0

mia soluzione: Per il mio "QualchePagina: ContentPage", ho cambiato le proprietà XAML:

  • Generator (strumento personalizzato): Da MSBuild:Compile-MSBuild:UpdateDesignTimeXaml
  • BuildAction: Da Page a Embedded resource

Utilizzo di Visual Studio 2017 Enterprise 15.3.4

Problemi correlati