Déclarations partielles ne doivent pas spécifier différentes classes de base
Les gars, je suis nouveau sur WPF .
J'ai un wpf page nommée StandardsDefault
. Dans le code-behind, StandardsDefault
hérite 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éritent d' StandardsDefault
au lieu de la page.
<Page x:Class="namespace.CountryStandards"
public partial class CountryStandards : StandardsDefault
Je n'ai pas changé le code XAML . J'obtiens l'erreur que
"Déclarations partielles de
'CountryStandards'
ne doit pas spécifier différentes classes de base"
Je pense que le problème peut être que le concepteur n'est pas hériter de la même classe.
Mais j'ai besoin de quelque sorte de mettre en œuvre l'héritage car il existe de nombreuses méthodes qui doivent être utilisées dans de nombreuses pages standard comme CountryStandards
Quelqu'un peut-il m'aider?
- avez-vous suivi toutes les étapes de stackoverflow.com/questions/1297433/... pour définir la classe de base de
CountryStandards
correctement? - Après la fixation de la déclaration locale:CountryStandards xmlns:local="utilisation:..." dans Visual Studio 2017, cliquez sur Décharger le Projet, Recharger Projet de se débarrasser de cette erreur dans la Liste d'Erreurs.
- Toutes les réponses toujours pas la peine d'être accepté?
- la réponse est la bonne réponse pour moi
Vous devez vous connecter pour publier un commentaire.
Vous devez changer votre CountryStandards XAML:
Il y a un bon article à propos de l'héritage de Fenêtre personnalisée dans WPF.
Peu bizarre, et il n'a pas été énumérés ici encore... Mais depuis aucune des réponses ci-dessus s'applique parce que j'avais mes deux xaml et fichiers cs déclaré correctement, je n'ai la suite et cela a semblé fonctionner:
Aller dans le dossier de la solution ou cliquez sur afficher tous les fichiers buton au sein de Visual Studio et supprimer à la fois l'obj et bin dossiers, ce qui provoque Visual Studio pour régénérer l'ensemble de ses fichiers pour le projet.
Votre projet doit maintenant construire/exécuter correctement.
Espère que ça aide quelqu'un - ou peut-être moi-même dans l'avenir.
Edit: Ce correctif fonctionne habituellement, si vous obtenez ce problème après avoir changé le type de page, par exemple, dans un ContentPage à un CarouselPage.
Dans votre
CountryStandards.xaml
vous devriez écrireAssurez-vous que les autres classes partielles ne sont pas de l'extension d'une classe différente.
Que vous avez à faire s'étend même classe.
Vous devez utiliser StandardsDefault comme nœud racine puisque vous êtes en train de contrôle de l'utilisateur.puisque vous êtes à l'aide de la page en tant que nœud racine compilateur c# page s'attend à ce que la base.
mais dans votre que vous utilisez StandardsDefault comme base, donc vous devez utiliser StandardsDefault comme nœud racine, alors cela va fonctionner.
J'ai fait un complet triche et utilisé
dynamic
, probablement des pauses toutes les règles dans le livre lolPuis sur la classe
J'aime ça parce que c'est oh si faiblement couplés. Comme je suis le portage d'une ancienne application de Winforms à WPF, ce qui m'arrange comme je peux littéralement suffit de copier et coller le code qui est compatible. Il serait peut-être pas la bonne chose à faire, mais il fonctionne et va me sauver une tonne de retravailler.
Également fait des tests facile que je le peux à 100% de se concentrer sur chacun de contrôle à son tour