web-dev-qa-db-ja.com

WPFのVisual Studioデザイナーを手動で再読み込みする方法

プロジェクト全体またはソリューション全体を再ビルドせずに、WPFデザイナーに強制的に再読み込みまたは更新させる方法はありますか?

エラーが発生した場合、デザイナービューにデザイナーを更新するオプションが表示されます。しかし、エラーが発生しなかった場合、変更を加えた後にデザイナーをリフレッシュするにはどうすればよいですか?

59
dthrasher

少し遅れましたが、これが最善の解決策です1 私はこれまでに見つけました:デザイナーが愚かなことをするときはいつでも、私はただそのプロセスを殺します。

押す Ctrl+Shift+Esc
[プロセス]タブに移動します。
殺します - XDesProc.exe

これにより、プロパティウィンドウの問題も修正されます(ジャムが発生し、入力できない場合など)。

1 これはデザイナーの問題の解決策です。コンパイルの問題が原因で問題が発生している場合もあります。その場合は、ソリューションエクスプローラーでソリューションを右クリックして、クリーンアップします。その背後にある理由は、コンパイルがXAMLから生成されたファイルとの同期性を失い、ソリューションをクリーニングすると、それらの中間ファイルが削除されるだけだからです。これはリセットのようなものなので、コンパイルは白紙の状態で開始できます。


それを速くするには:

アルファベット順に並べ替えると、通常は最後になります。
そうである場合、タスクマネージャーをすばやくポップアップし、任意のプロセスをクリックして、押すことは、ほとんどの場合、儀式のようです End、 Delete、 Enter (完了)、 Esc (終了タスクマネージャ)。 VSを再起動してすべてのロードとアンロードを待機する代わりに、1〜2秒で実行できます。

36
MasterMastic

これをVisual StudioのToolsメニューに追加できます。

設定したら、Tools..XAML Designer Restartを使用します。

Alt+T その後 L

enter image description here

enter image description here

構成してみました Alt+T その後 X しかし、これはTools..Choose ToolboX Itemsと衝突しました。

更新

最近、私はちょうど打つことを好む Ctrl+Shift+Esc プロセスマネージャを起動し、次に X XDesProc.exeにスキップして Delete 不正なプロセスを強制終了します。

20
Contango

Visual Studioの新しいバージョンでは、デザイナーの下部に「プロジェクトコードを無効にする」ためのアイコンがあります。これをオフまたはオンに切り替えると、デザイナーが再ロードされます。

15

Visual Studioデザイナーは、レンダリングされたビューとXAMLの同期を維持しようとします。それが宣伝されている動作です。

  • 最初に確認する必要があるのは、エラーウィンドウにエラーがないことです。山かっこがないのと同じくらい簡単かもしれません。
  • チェックする2番目のことは、デザイナーがXAMLを正しくレンダリングするためにコンパイルする必要があるコード(コードビハインド以外)があるかどうかです。これには、XAMLでインスタンス化する独自のデータ型、作成したカスタムコントロール(TextBlockから派生したMyTextBlockなど)、または設計時データをサポートする直接的または間接的なクラスが含まれます。その場合は、プロジェクトを再構築する必要があります。
  • 最後に確認するのは、デザイナーのバグの可能性です。アドバタイズされた動作にもかかわらず、バグが原因でデザイナーが同期しなくなる場合があります。その終了時に、XAMLウィンドウを閉じて再度開きます。機能する可能性のある他のトリックは、XAMLタブを選択してから[デザイン]タブを選択するか、XAMLペインを最大化することです。

アプリケーションの再構築に関する限り、これを習慣として行う必要はありません。上記の条件が当てはまる場合のみ、再コンパイルする必要があります。適用されない場合は、XAMLを編集するだけです。これを別の言い方をすると、コードを変更していない場合は、再構築する必要はありません(モジュロバグ)。

7
Rick Sladkey

確かではありませんが、ビルドはそのような状況であなたの見方をリフレッシュすると思います。

3
Stefan

少なくとも理論的には、デザインビューは常にXAMLと同期しているため、手動で更新する必要はありません。どのような状況でリロードしますか?

1
gstercken

そのXAMLファイルではイベントが処理されますが、ほとんどの場合、Visual Studioからのデザインプレビューは表示されません。 Visual Studioからデザインを表示する場合は、イベントの代わりにコマンドバインディングを使用してみてください。プレビューが表示されます。

1
rcube9

これがWPF編集でどのように機能するかはわかりませんが、ASP.NETページでは、デザインビューが更新されないときに2つのことを実行できます

  1. Visual Studioを終了して再起動します
  2. ソースビューに移動し(分割ではなく)、何かを入力して削除し(元に戻すのではなく、単に削除またはバックスペアする)、保存します。次に、デザインビューに戻ります。通常はビューが更新されています。
0
Ronald

新しいコード行または新しいオブジェクトを追加すると、XAMLデザイナーは同期しますが、オブジェクトのプロパティが変更されたときに非同期の動作が発生しました。

トリッキーな方法は、プロパティを変更するとき、命令の最後から ">"文字を削除する必要があるだけで、それを再入力することです。

0
m.eslahi.k

詳細については、Visual Studio Community 2017のXAMLデザイナーでも同じ問題が発生しました。つまり、デザイナーに何も表示されない場合があります。最も簡単な解決策は、XAMLファイルを閉じて再度開くことです。

また、「未処理の例外が発生しました-ここをクリックしてデザイナーを再読み込みしてください-詳細:XAMLデザイナーが予期せず終了しました」という例外も頻繁に発生します(クリックするとデザイナーが再起動します)。

このVSバージョンでは、XAMLデザイナーのプロセスの名前はXDesProc.exeではなく、wpSurface.exeであることに注意してください。プロセスを強制するか、強制終了する必要がある場合、デザイナーは上記と同じ例外を表示し、再起動できます。

0
Sandra Rossi