wake-up-neo.net

Wie man manuell den Visual Studio Designer für WPF lädt

Gibt es eine Möglichkeit, den WPF-Designer zum erneuten Laden oder Aktualisieren zu zwingen, ohne das gesamte Projekt oder die gesamte Lösung neu erstellen zu müssen?

Wenn ein Fehler auftritt, erhalte ich eine Option in der Designeransicht, um den Designer zu aktualisieren. Wenn ich aber keine Fehlermeldung habe, wie kann ich den Designer nach einer Änderung aktualisieren lassen?

53
dthrasher

Ich bin etwas spät dran, aber das ist die beste Lösung1 Ich habe bisher herausgefunden: Wenn der Designer dummes Zeug macht, bringe ich nur den Prozess zum Erliegen.

Drücken Sie Ctrl+Shift+Esc
Navigieren Sie zur Registerkarte Prozesse.
Kill XDesProc.exe

Dadurch werden auch Probleme im Eigenschaftenfenster behoben (z. B. wenn ein Papierstau auftritt und Sie keine Informationen eingeben können).

1 Dies ist eine Lösung für Designerprobleme. Ihre Probleme können auch durch Kompilierungsprobleme verursacht werden. Klicken Sie in diesem Fall im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe, und bereinigen Sie sie. Der Grund dafür ist, dass die Kompilierung manchmal die Synchronität mit den von XAML generierten Dateien verliert und beim Bereinigen der Lösung nur diese Zwischendateien gelöscht werden. Es ist wie ein Reset, damit Ihre Zusammenstellung mit einer sauberen Tafel beginnen kann.


Um es schnell zu machen:

Bequemerweise ist es normalerweise das letzte, wenn es alphabetisch sortiert ist.
Wenn es so ist, ist es für mich fast wie ein Ritual, schnell den Task-Manager aufzurufen, auf einen beliebigen Prozess zu klicken und zu drücken EndDeleteEnter (erledigt), Esc (Task-Manager beenden). Anstatt VS neu zu starten und auf alle Lade- und Entladevorgänge zu warten, können Sie dies in 1-2 Sekunden tun.

33
MasterMastic

Sie können dies zum Menü Tools in Visual Studio hinzufügen.

Verwenden Sie nach der Konfiguration Tools..XAML Designer Restart:

Alt+T dann L

enter image description here

enter image description here

Ich habe versucht, es für zu konfigurieren Alt+T dann X aber dies kollidierte mit Tools..Choose ToolboX Items.

Aktualisieren

In diesen Tagen ziehe ich es vor, nur zu schlagen Ctrl+Shift+Esc um dann den Prozessmanager aufzurufen X um dann zu XDesProc.exe zu springen Delete den Schurkenprozess (die Schurkenprozesse) zu töten.

19
Contango

In neueren Versionen von Visual Studio befindet sich am unteren Rand des Designers ein Symbol für "Code deaktivieren". Wenn Sie dies ein- und ausschalten, wird der Designer neu geladen.

12

Der Visual Studio-Designer versucht, die gerenderte Ansicht mit der XAML-Datei zu synchronisieren. Das ist das beworbene Verhalten.

  • Als erstes sollten Sie überprüfen, dass das Fehlerfenster fehlerfrei ist. Es kann so einfach sein wie eine fehlende Winkelklammer.
  • Die zweite Sache, die Sie überprüfen müssen, ist, ob Sie Code (außer Ihrem Code-Behind) haben, der kompiliert werden muss, damit der Designer Ihre XAML korrekt rendern kann. Dazu gehören alle Ihre eigenen Datentypen, die Sie in XAML instanziieren, benutzerdefinierte Steuerelemente (z. B. MyTextBlock, die von TextBlock abgeleitet wurden) oder alle Klassen, die direkt oder indirekt zur Unterstützung von Entwurfszeitdaten dienen. Wenn ja, müssen Sie Ihr Projekt neu erstellen.
  • Als letztes müssen Sie nach möglichen Fehlern im Designer suchen. Trotz des angekündigten Verhaltens kann der Designer aufgrund von Fehlern nicht mehr synchron sein. Schließen Sie in diesem Schließen das XAML-Fenster und öffnen Sie es erneut. Andere Tricks, die möglicherweise funktionieren, sind das Auswählen der Registerkarte XAML und dann der Registerkarte Design oder das Maximieren des XAML-Bereichs.

Wenn Sie Ihre Anwendung neu erstellen, müssen Sie dies nicht als Gewohnheit tun. Sie müssen es nur erneut kompilieren, wenn die oben genannten Bedingungen zutreffen. Wenn sie nicht zutreffen, können Sie die XAML einfach bearbeiten. Eine andere Möglichkeit, dies zu sagen, ist, dass, wenn Sie den Code nicht modifiziert haben, Sie keine Neuerstellung benötigen (Modulo-Fehler).

7
Rick Sladkey

Ich bin nicht sicher, aber ich denke, ein Build wird Ihre Sicht in dieser Situation auffrischen.

3
Stefan

Zumindest in der Theorie ist die Entwurfsansicht immer mit der XAML synchronisiert, so dass Sie sie niemals manuell aktualisieren müssen. Darf ich fragen, unter welchen Umständen möchten Sie es neu laden?

1
gstercken

In dieser XAML-Datei wird ein Ereignis behandelt. In diesem Fall wird meistens keine Entwurfsvorschau von Visual Studio angezeigt. Wenn Sie das Design aus Visual Studio sehen möchten, versuchen Sie es mit Befehlsbindung anstelle von event. Die Vorschau wird angezeigt.

1
rcube9

Ich bin nicht sicher, wie das in der WPF-Bearbeitung funktioniert, aber mit ASP.NET-Seiten, wenn die Entwurfsansicht nicht aktualisiert wird, kann ich zwei Dinge tun

  1. Beenden Sie Visual Studio und starten Sie neu
  2. Gehen Sie in die Quellansicht (nicht aufgeteilt), geben Sie etwas ein und entfernen Sie es (nicht durch Rückgängigmachen, Löschen oder Zurücksetzen) und speichern Sie es. Kehren Sie dann zur Entwurfsansicht zurück. Normalerweise wurde die Ansicht dann aktualisiert.
0
Ronald

Wenn Sie eine neue Codezeile oder ein neues Objekt hinzufügen, wird der XAML-Designer zwar synchronisiert, aber beim Ändern einer Eigenschaft eines Objekts ist ein Nicht-Synchronisierungsverhalten aufgetreten.

Eine knifflige Methode besteht darin, dass Sie beim Ändern einer Eigenschaft nur ein ">" - Zeichen vom Ende einer Anweisung entfernen und dann erneut eingeben müssen.

0
m.eslahi.k

Zu Informationszwecken hatte ich das gleiche Problem mit dem XAML-Designer von Visual Studio Community 2017, d. H. Der Designer zeigt manchmal nichts an. Die einfachste Lösung ist das Schließen der XAML-Datei und das erneute Öffnen. 

Ich bekomme auch häufig die Ausnahme "Eine nicht behandelte Ausnahme ist aufgetreten - Klicken Sie hier, um den Designer neu zu laden - Details: Der XAML-Designer wurde unerwartet beendet" (der Klick startet den Designer erfolgreich neu).

Beachten Sie, dass in dieser VS-Version der Prozess des XAML-Designers nicht XDesProc.exe heißt, sondern UwpSurface.exe . Wenn Sie den Prozess vorziehen oder beenden müssen, zeigt der Designer dieselbe Ausnahme wie oben und Sie können ihn möglicherweise neu starten.

0
Sandra Rossi