如何手动重新加载WPF的Visual Studio设计器

时间:2010-09-16 17:06:46

标签: wpf visual-studio xaml designer

有没有办法强制WPF设计器重新加载或刷新,而无需重建整个项目或解决方案?

如果出现错误,我会在设计器视图中选择一个选项来刷新设计器。但如果我没有错误,我怎样才能让设计师在我做出改变后刷新?

11 个答案:

答案 0 :(得分:33)

我有点晚了,但这是迄今为止我发现的最好的解决方案 1 :每当设计师做了愚蠢的事情时,我就会杀掉它的过程。

Ctrl + Shift + Esc
导航到“进程”选项卡 杀死 XDesProc.exe

这也解决了属性窗口的问题(比如当它被卡住而你无法输入内容时)。

1 这是设计师问题的解决方案。您的问题也可能是由编译问题引起的,在这种情况下,只需右键单击解决方案资源管理器中的解决方案,然后清除它。其背后的原因是有时编译失去了与XAML生成的文件的同步性,清理解决方案只是删除那些中间文件;它就像一个重置,所以你的编译可以从一个干净的平板开始。


快速完成:

如果按字母顺序排序,它通常是最后一个 如果是这样,对我来说,快速弹出任务管理器,点击任何进程,按结束删除输入就像是一种仪式(已完成), Esc (退出任务管理器)。而不是重新启动VS并等待所有负载&卸载,你可以在1-2秒内完成。

答案 1 :(得分:20)

您可以将其添加到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 < / kbd>跳到XDesProc.exe然后删除以杀死流氓进程。

答案 2 :(得分:13)

在较新版本的Visual Studio中,设计器底部有一个图标,以禁用项目代码&#34;。如果您将其关闭并打开,则会重新加载设计器。

答案 3 :(得分:7)

Visual Studio设计器尝试使呈现的视图与XAML保持同步。这是广告宣传的行为。

  • 您应该检查的第一件事是错误窗口中没有错误。它可能像缺少角括号一样简单。
  • 要检查的第二件事是你是否有任何代码(代码隐藏除外)需要为设计师编译才能正确呈现你的XAML。这包括您在XAML中实例化的任何自己的数据类型,您编写的任何自定义控件(例如,从TextBlock派生的MyTextBlock),或直接或间接支持设计时数据的任何类。如果是这样,您需要重建项目。
  • 要检查的最后一件事是设计师可能存在的错误。尽管有广告宣传的行为,设计师可能会因为错误而失去同步。在该关闭中,关闭XAML窗口并重新打开它。其他可能有效的技巧是选择XAML选项卡,然后选择设计选项卡,或最大化XAML窗格。

就重建你的应用程序而言,你不需要这样做是一种习惯。您只需在上述条件适用时重新编译它。一旦它们不适用,您就可以编辑XAML。另一种说法是,如果你没有修改代码,你就不需要重建(modulo bug)。

答案 4 :(得分:3)

我不确定,但我认为构建会在那种情况下刷新你的观点。

答案 5 :(得分:1)

至少在理论上,设计视图始终与XAML同步,因此无需手动刷新它。请问在哪种情况下你想重装它?

答案 6 :(得分:1)

在该XAML文件中处理任何事件,然后主要是它不会显示Visual Studio的设计预览。如果您想从Visual Studio中查看设计,请尝试使用Command Binding而不是事件,您将看到预览。

答案 7 :(得分:1)

在 XAML 设计器的工具栏上,选择“禁用项目代码”按钮以重新加载位于“启用对齐线对齐”右侧的设计器链接。

Disable project code in the designer

如果禁用,您可以尝试检查配置管理器并将处理器更改为“任何 CPU”。

对于面向 ARM 或 X64 处理器的项目,Visual Studio 无法在设计器中运行项目代码,因此在设计器中禁用项目代码按钮被禁用。检查这个:

Debug or disable project code in XAML Designer

答案 8 :(得分:0)

我不确定这在WPF编辑中是如何工作的,但是在设计视图不会更新的情况下使用ASP.NET页面我可以做两件事

  1. 退出Visual Studio并重新启动
  2. 进入源视图(不拆分),键入内容并将其删除(不是通过撤消,只是删除或回退)并保存。然后返回设计视图,通常视图已更新。

答案 9 :(得分:0)

当您添加新的代码行或新对象时,XAML设计器是同步的,但是当对象的属性发生更改时,我遇到了非同步行为。

一个棘手的方法是当你更改一个属性时,你只需要删除一个&#34;&gt;&#34;从指令末尾开始的字符然后重新输入。

答案 10 :(得分:0)

有关信息,我在2017年Visual Studio社区的XAML设计器中遇到了同样的问题,即有时设计师没有显示任何内容,最简单的解决方案是关闭XAML文件并重新打开它。

我也经常得到异常&#34;发生了未处理的异常 - 单击此处重新加载设计器 - 详细信息:XAML Designer已意外退出&#34; (单击会重新启动设计器)。

请注意,在此VS版本中,XAML设计器的进程未命名为XDesProc.exe,而是 UwpSurface.exe 。如果您更喜欢或必须终止该过程,那么设计器会显示与上面相同的异常,您可以重新启动它。