Les déclarations partielles ne doivent pas spécifier différentes classes de base

Les gars je suis nouveau à WPF.

J’ai une page wpf nommée StandardsDefault . Dans le code derrière, StandardsDefault hérite de Page , comme toutes les autres pages.

 <Page x:Class="namespace.StandardsDefault" public partial class StandardsDefault : Page 

Maintenant, j’ai créé une nouvelle classe CountryStandards qui hérite de StandardsDefault au lieu de la page.

 <Page x:Class="namespace.CountryStandards" public partial class CountryStandards : StandardsDefault 

Je n’ai pas changé le XAML. Je reçois l’erreur comme

“Les déclarations partielles de 'CountryStandards' ne doivent pas spécifier différentes classes de base”

Je pense que le problème peut être que le concepteur n’hérite pas de la même classe. Mais je dois en quelque sorte implémenter l’inheritance car il existe de nombreuses méthodes communes à utiliser dans de nombreuses pages standard telles que CountryStandards

Quelqu’un peut m’aider?

Vous devez changer votre CountryStandards XAML pour:

  

Il existe un bon article sur l’inheritance d’une fenêtre / page personnalisée dans WPF.

Dans votre CountryStandards.xaml vous devriez écrire

  

Un peu étrange, et il n’a pas encore été répertorié ici … Mais comme aucune des réponses ci-dessus ne s’appliquait car j’avais mes fichiers xaml et cs déclarés correctement, j’ai fait ce qui suit et cela semblait fonctionner:

Accédez au dossier de la solution ou cliquez sur le bouton Afficher tous les fichiers dans Visual Studio et supprimez les dossiers obj et bin , ce qui entraîne la régénération de tous les fichiers de Visual Studio pour le projet.

Votre projet doit maintenant générer / exécuter correctement.

J’espère que ça aide quelqu’un – ou peut-être moi-même à l’avenir.

Edit: ce correctif fonctionne généralement si vous rencontrez ce problème après avoir changé le type de page, par exemple un ContentPage en CarouselPage.

Assurez-vous que les autres classes partielles ne développent pas une classe différente.

 public partial class CountryStandards : StandardsDefault public partial class CountryStandards : Page 

Vous devez leur faire prolonger la même classe.

Vous devez utiliser StandardsDefault en tant que nœud racine car vous créez un contrôle utilisateur puisque vous utilisez la page en tant que nœud racine c # le compilateur s’attend à ce que la page soit la base. mais dans votre vous utilisez StandardsDefault comme base, vous devez donc utiliser StandardsDefault en tant que nœud racine, cela fonctionnera.