2010-06-11 6 views
7

Anstatt es aus Versehen auszuschließen, löschte ich den .cs-Code hinter der Datei für eine Xaml-Datei. Jetzt weiß ich nicht, wie ich den Code hinzufügen soll.Versehentlich gelöscht den Code für eine Xaml-Datei. Wie füge ich den Code wieder hinzu?

Dieses Fenster ist leer und enthält keine UI-Steuerelemente. "View Code" ist deaktiviert und ich kann die Ereignisse (Blitzsymbol) nirgends für diese XAML sehen.

Bitte helfen.

+1

Rückgängig, Wiederherstellen aus dem Papierkorb oder von der Versionskontrolle ist keine Option? – Joey

+0

Nichts davon half in meinem Fall. Am Ende musste ich den Xaml löschen und einen von Grund auf neu erstellen. – FMFF

Antwort

2

Soweit ich weiß, ohne Version Control gibt es keine Möglichkeit, zurückzusetzen, wenn das Projekt gespeichert wurde. Sie sollten prüfen, ob Sie Ihren Code auf Versionskontrolle setzen.

An diesem Punkt würde ich in Erwägung ziehen, Ihre XAML-Datei neu zu erstellen, Ihren alten Code zu kopieren, dann Ihre Ereignisse in XAML zu löschen und sie neu zu erstellen, nachdem Sie sie neu erstellt haben, wird der Code dahinter reproduziert.

+0

Danke jsmith. Zu diesem Zeitpunkt habe ich keine Ereignisse auf dem Xaml selbst. Außerdem ist dies ein kleines Experiment, um WPF zu lernen, das ich alleine mache, also habe ich keine Versionskontrolle dafür benutzt. Ich versuche zu vermeiden, das XAML selbst löschen und ein neues Xaml von Grund auf neu hinzufügen. – FMFF

+2

Erstellen Sie einfach eine Kopie des XAML-Codes im Editor. Löschen Sie die XAML-Datei, erstellen Sie die XAML-Datei neu, und nennen Sie dieselbe Datei. Dadurch wird die CS-Datei neu erstellt. Kopieren Sie den Code erneut in die Datei, und Sie müssen den Code neu schreiben, wenn keine Versionskontrolle vorhanden war. – jsmith

+0

Danke Jsmith. Ich habe es versucht und es hat mein Problem gelöst. Ich bin neugierig, gibt es nicht einen Non-Hack-Weg, dies zu tun? – FMFF

3

denke ich, alles, was Sie tun müssen, ist eine neue Klasse-Datei erstellen und benennen Sie es genau wie Ihre XAML mit der Erweiterung cs ...

test.xaml

test.xaml.cs

Werke in vb ....

14

Es gibt zwei erforderlichen Schritte und eine optional:

  1. erstellen eine neue .xaml.cs-Datei im selben Verzeichnis (Klicken Sie mit der rechten Maustaste auf Projekt -> Hinzufügen -> Neues Objekt -> Klasse)
  2. Kopieren Sie den Boilerplate-Code von einigen anderen .xaml.cs in Ihrem Projekt und ändern Sie den Klassennamen angemessen (z. Kopieren Sie die "using" -Direktiven, die Klassendeklaration und den Konstruktor einschließlich des InitializeComponent-Aufrufs).
  3. (optional) Bearbeiten Sie Ihre CSPROJ-Datei, um ein <DependentUpon> Element unter Ihrem <Compile> -Element für die .XAML.CS-Datei hinzuzufügen, so dass es "innerhalb" der .XAML-Datei nicht einfach darunter erscheint. Wenn Sie ein Projekt aktualisieren, das mit Blend (v4) bearbeitet werden soll, ist dieser dritte Schritt erforderlich, nicht optional, um den Inspektor zum Hinzufügen von Ereignissen zu Steuerelementen zu verwenden.

Um die CSPROJ Datei einfach zu bearbeiten:

  1. Rechtsklick auf das Projekt und wählen Sie „Unload-Projekt“
  2. Rechtsklick auf den Projektknoten erneut und wählen Sie „Bearbeiten [Projektname] CSPROJ "
  3. Bearbeiten Sie die XML, schließen Sie dann die Datei
  4. Rechtsklick auf den Projektknoten erneut und wählen Sie "Reload Project"

Wenn Sie VB.NET verwenden, alles gleich, ersetzen Sie einfach "cs" durch "vb".

+0

+1 Der optionale dritte Schritt ist der, nach dem ich gesucht habe – dumbledad

2

Ich weiß, ich bin zu spät zur Party ... aber das ist, was gerade für mich gearbeitet hat. Wenn Sie in VisualStudio sind, können Sie: 1. Schließen Sie alle Dateien aus, die Sie aus dem Projekt verknüpfen möchten 2. Fügen Sie nur die XAML-Datei ein. Für mich enthielt das die .xaml.cs-Datei sowie den dahinter liegenden Code.

Hinweis: Stellen Sie sicher, dass die Kompilierbeziehung in der .csproj-Datei korrekt ist.Es soll wie folgt aussehen:

<ItemGroup> 
    <Compile Include="App.xaml.cs"> 
    <DependentUpon>App.xaml</DependentUpon> 
    </Compile>... 

Um diesen Text zu sehen, müssen Sie das Projekt entladen und dann die CSPROJ Datei in jedem Texteditor bearbeiten. Mit VS 2015 können Sie diese Datei auch bearbeiten, indem Sie mit der rechten Maustaste auf die entladene .csproj-Datei klicken.

Ich hoffe, das hilft jemandem.

Verwandte Themen