演练:调试 WPF 应用程序
[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]
本演练演示如何使用调试 WPF Designer简单 (WPF)的 windows presentation foundation 应用程序。 您将使用 异常助手 对话框来解释可扩展应用程序标记语言 (xaml) 分析异常。
在本演练中,您将执行下列任务:
创建一个 WPF 项目。
解释异常。
解释子控件的异常。
完成后,您将了解如何解释在 XAML 分析期间出现的异常。
备注
您看到的对话框和菜单命令可能会与 " 帮助 " 中的描述不同具体取决于您现用的设置或版本。若要更改设置,请选择在 工具 菜单的 导入和导出设置 。有关更多信息,请参见 Visual Studio 设置。
系统必备
您需要以下组件来完成本演练:
- Visual Studio 2012 RC.
创建项目
第一步是创建应用程序的项目。
创建项目
创建新的 WPF 名为 DebuggingExample的应用程序项目在 Visual Basic 或 Visual C#。 有关更多信息,请参见 如何:创建新的 WPF 应用程序项目。
在 MainWindow.xaml WPF Designer打开。
在 XAML 视图中,将窗口的 Background 属性设置为 “azure”。
<Window x:Class="DebuggingExample.MainWindow" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" Background="Azure" Title="MainWindow" Height="300" Width="300"> <Grid> </Grid> </Window>
windows 更新的背景色在 " 设计 " 视图。
将 “azure”更改为 “Azurer”并单击 " 设计 " 视图。
设计 " 视图中显示消息 “文档包含错误,必须修复这些错误才能更新设计器。 单击此处打开 " 错误列表”。
此外, 错误列表 窗口将显示 “标记无效”错误消息。
从 调试 菜单中,选择 启动调试。
应用程序启动, XAML 视图打开,如下图所示,并且, 异常助手 出现对话框,该对话框。
附注,如果未打开 XAML 视图,异常助手 " 出现时,关闭调试选项的 仅我的代码 。 有关更多信息,请参见 如何:单步执行“仅我的代码”。
解释异常
异常是 XAML 分析错误。 异常助手 对话框会显示有关错误的信息,可以使用介绍及其原因。
解释异常
在 异常助手 对话框中,单击 视图详细信息… 链接。
查看详细信息 对话框打开。
在 异常快照 部分中,展开 System.Windows.Markup.XamlParseException 项目。
LineNumber 项显示 3 和 LinePosition 项目显示 5。
单击 Message 项目。
显示一个向下箭头按钮在行尾。 如下图所示,单击向下箭头按钮查看整个错误消息,。
读取消息 “无法将在 " 属性 “到 " System.Windows.Media.Brush " 类型的对象 Background 的值。 标记无效。 在对象 “在标记文件 “DebuggingExample 的 DebuggingExample.MainWindow 的错误; component/mainwindow.xam 行 3 位置 5. "
此异常描述 XAML 在 MainWindow.xaml 文件遇到的分析错误,在第五行。
,因为 Brush 的 TypeConverter 不能将 “Azurer”字符串转换为 Brush 对象,则将引发异常。
单击关闭 查看详细信息 对话框的 确定 。
单击关闭 异常助手 对话框的 确定 。
从 调试 菜单中,选择 停止调试。
创建 UserControl 项目
可以使用 异常助手 对话框来解释在单独的程序集中的一个控件中引发的错误。
创建项目
在 XAML 视图中,将更改 Background 属性的值重 “azure”。
添加新 WPF 用户控件库项目命名 DemoControlLibrary 到解决方案。 有关更多信息,请参见 如何:创建 WPF UserControl 库项目。
UserControl1.xaml 在 WPF Designer打开。
在 XAML 视图中,将窗口的 Background 属性设置为 “plum”。
<UserControl x:Class="DemoControlLibrary1.UserControl1" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" Background="Plum" Height="300" Width="300"> <Grid> </Grid> </UserControl>
生成解决方案。
在 解决方案资源管理器,在 DebuggingExample 项目中,添加一个对 DemoControlLibrary 项目的引用。
打开在 WPF Designer的 MainWindow.xaml。
通过插入以下 XAML 映射 DemoControlLibrary 命名空间到打开标记的 <Window> 。 有关更多信息,请参见 如何:将命名空间导入 XAML。
xmlns:d="clr-namespace:DemoControlLibrary;assembly=DemoControlLibrary"
插入在打开标记的 <Grid> 后的以下 XAML。
<d:UserControl1 />
模型使用新的背景色的视图更新。
打开在 WPF Designer的 UserControl1.xaml。
在 XAML 视图中,将 “plum”更改为 “Plumr”。
从 调试 菜单中,选择 启动调试。
应用程序启动, XAML 视图打开到 UserControl1.xaml,并且, 异常助手 出现对话框。
附注,如果未打开 XAML 视图,异常助手 " 出现时,关闭调试选项的 仅我的代码 。 有关更多信息,请参见 如何:单步执行“仅我的代码”。
后续步骤
- 还可以使用 错误列表 窗口查看 XAML 分析错误在设计时。 有关更多信息,请参见 XAML 错误和帮助。