8
votes

Supprimé accidentellement le code derrière un fichier XAML. Comment puis-je ajouter le code à nouveau?

Au lieu de l'excluant, par erreur, j'ai supprimé le code .CS derrière le fichier pour un fichier XAML. Maintenant, je ne sais pas comment ajouter le code derrière.

Cette fenêtre est vide sans contrôle de l'interface utilisateur. "Voir le code" est désactivé et je ne peux pas voir les événements (icône de boulon de foudre) n'importe où pour ce XAML.

aide s'il vous plaît.


2 commentaires

Annuler, restaurez à partir de la corbeille de recyclage ou de la version de la version n'est pas une option?


Aucun de cela n'a contribué dans mon cas. En fin de compte, je devais supprimer le XAML et en créer un à partir de zéro.


4 Réponses :


2
votes

Aussi loin que je sache sans Contrôle de la version Il n'y a aucun moyen de revenir en arrière si le projet a été sauvé. Vous devez rechercher votre code sur le contrôle de la version.

À ce stade, je envisagerais de recréer votre fichier XAML, de copier votre ancien code dans, puis de supprimer vos événements dans XAML et de les recréer, une fois que vous les recréez, elle reproduira le code derrière.


4 commentaires

Merci Jsmith. A cette époque, je n'ai aucun événement sur le XAML lui-même. En outre, il s'agit d'une petite expérience pour apprendre le WPF que je fais seul, alors je n'ai donc pas utilisé de contrôle de la version pour cela. J'essaie d'éviter d'avoir à supprimer le XAML lui-même et à ajouter un nouveau XAML à partir de zéro.


Faites simplement une copie du code XAML dans le Bloc-notes. Supprimez le fichier XAML, puis recréez le fichier XAML, nommant la même chose, cela recréera le fichier .CS. Re-Copiez votre code dans le fichier et vous devrez réécrire l'un de votre code derrière s'il n'y avait pas de contrôle de version.


Merci Jsmith. J'ai essayé et j'ai résolu mon problème. Je suis curieux, n'y a-t-il pas une façon de faire cela?


Je n'ai pas l'impression que c'est une grande partie d'un hack. Je considérerais le moyen le plus propre de résoudre ce problème consiste à revenir avec le contrôle de la version. Puisque c'est un projet d'apprentissage, je comprends pourquoi vous ne l'avez pas mis sur VC.



3
votes

Je pense que tout ce que vous avez à faire est de créer un nouveau fichier de classe et de le nommer exactement comme votre XAML avec l'extension CS ...

test.xaml

test.xaml.cs

fonctionne dans VB ....


0 commentaires

16
votes

Il y a deux étapes requises et une option:

  1. Créez un nouveau fichier .xaml.cs dans le même répertoire (Projet de clic droit -> Ajouter -> Nouvel élément -> Classe)
  2. Copiez dans le code de la chairer sur une autre autre .xaml.cs dans votre projet, changez le nom de la classe de manière appropriée (par exemple. Copiez-le «Utilisation» Directives, Déclaration de classe et constructeur, y compris l'appel initializecomonent).
  3. (facultatif) Modifiez votre fichier .csproj pour ajouter un en dessous de votre élément du fichier .xaml.cs afin qu'il apparaisse "À l'intérieur" Le fichier .xaml n'est pas simplement en dessous de celui-ci. Si vous mettez à jour le projet à modifier avec Mélange (V4), cette troisième étape est requise, non facultative, afin d'utiliser l'inspecteur pour ajouter des événements aux contrôles.

    Pour éditer facilement le fichier .csproj:

    1. Cliquez avec le bouton droit sur le projet et sélectionnez "Projet de déchargement"
    2. Cliquez sur le bouton droit de la souris sur le nœud de projet et sélectionnez "Modifier [PRÉPARATIONNAME] .CSPROJ"
    3. Modifiez le XML, puis fermez le fichier
    4. Cliquez sur le nœud de projet à nouveau et sélectionnez "Recharger le projet"

      Si vous utilisez vb.net, tout le même, remplacez simplement "CS" par "VB".


1 commentaires

Cela fonctionne également dans VS2019, et si vous cliquez sur "Recharger [ProjectName]" dans Solution Explorer, il l'invite à enregistrer et à fermer le fichier CSPROJ, donc pas besoin d'étape 3 dans la 2e paragraphe



2
votes

Je sais que je suis en retard à la fête ... mais c'est ce qui vient de travailler pour moi. Si vous êtes dans VisualStudio, vous pouvez: 1. Exclure tous les fichiers que vous souhaitez connecter du projet 2. Inclure juste le fichier .xaml. Pour moi, cela incluait le fichier .xaml.cs ainsi que le code derrière.

Remarque: Assurez-vous que la relation compile est correcte dans le fichier .csproj. Il devrait ressembler à ceci: xxx

Pour voir ce texte, vous devrez décharger le projet, puis modifier le fichier .csproj à l'intérieur de tout TextAditor. VS 2015 vous permet également d'éditer ce fichier si vous restez cliquez sur le fichier non chargé .CSPROJ.

J'espère que cela aide quelqu'un.


0 commentaires