如何在设计模式下调试WPF用户控件?

时间:2014-12-14 23:15:07

标签: c# wpf visual-studio user-controls design-time

我创建了一个包含标签的wpf用户控件。标签的前景设置根据检查许多条件的某些代码而变化。我的控件中的标签在设计时显示错误的颜色,但我无法弄清楚如何在设计时调试我的用户控件,以便我可以让它捕获断点(从而弄清楚我的逻辑有缺陷的地方)。控件上的颜色在运行时是正确的,只有在设计时它才会显示不正确。

2 个答案:

答案 0 :(得分:5)

以下是在设计时调试控件的步骤:

  • 启动Visual Studio的第二个实例
  • 从“调试”菜单中附加到第一个实例
  • 在第二个实例中,打开控件的源代码
  • 在适当的位置设置断点
  • 在第一个VS实例中,重新加载设计器

请注意,此技术不限于控件;您还可以使用它来调试VS扩展或在Visual Studio中执行的任何操作。

答案 1 :(得分:0)

要调试控件程序集,我使用以下解决方案。

  1. 使用“项目”菜单打开项目的属性

  2. 显示Debug(法语Déboguer)

  3. Start extern program 设置为 devenv.exe(红色矩形)

    在我的电脑上是

    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe

  4. 填充命令行的参数,使其等于解决方案的文件(蓝色矩形)

  5. 指定工作目录。由于目录没有在参数中指定,工作目录相当于包含 .sln 文件的目录。 (绿色矩形)

    在我的电脑上是

    D:\@Projets\VisualBasic.Net\Tramex.Controls.Net\Test

enter image description here

现在,我第一次开始调试时,会启动一个新的 Visual Studio。这个阶段可能会留下几分钟(在我的电脑上 5 分钟)。但这只是我第一次启动调试过程。

然后,我可以在第二个 Visual Studio 应用程序上使用 Designer 中的控件,看看当第一个窗口中定义的断点被引发时会发生什么。

这与 WinForms 控件完美配合。