- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用WinForms和WPF开发GUI应用程序.ppt
在本单元中,您将学习:
调试 XAML 代码;要收集应用程序的运行时信息,同时保持其继续运行,您可以使用跟踪技术。
.NET Framework 在 System.Diagnostic 名称空间中提供了各种类,您可使用这些类在您的应用程序中提供跟踪工具。
.NET Framework 还提供了一个名为跟踪侦听器的类型,让您可以将跟踪消息输出到特定位置。 ;下表描述了 .NET 中可用的各种内置跟踪侦听器类。;TraceSource 类使应用程序能够跟踪应用程序代码如何执行并将输出跟踪消息与其源相关联。
TraceSource 类使您能够跟踪数据和事件。
跟踪事件使您能够识别已在应用程序中触发了跟踪的事件类型,例如致命错误、可恢复错误或非关键问题。
要跟踪事件,调用 TraceSource 类的 TraceEvent() 方法。 ;下表描述了 WPF 特定的跟踪源类。;跟踪 WPF 应用程序(续);以下代码段创建新的跟踪源并调用方法来跟踪类型为 TraceEventType.Error 和 TraceEventType.Warning 的事件:
private static TraceSource testSource = new TraceSource(Diagnostic);
static void Main(string[] args)
{
Method1();
testSource.Close();
}
static void Method1()
{
testSource.TraceEvent(TraceEventType.Error, 1, Error message.);
testSource.TraceEvent(TraceEventType.Warning, 2, Warning message.);};在跟踪应用程序时,可能需要根据重要性、详细信息和严重性登记来控制跟踪消息。
为了控制跟踪消息,.NET Framework 提供了 Switch 抽象类。
Switch 类充当以下类的基类:
BooleanSwitch:可用作启用和禁用跟踪消息的切换。
TraceSwitch:提供多级切换,帮助您控制 TraceSource 类生成的跟踪消息。
SourceSwitch:提供多级切换,帮助您控制 TraceSource 类生成的跟踪消息。;以下代码段显示了如何使用 SourceSwitch 类来控制跟踪源 Diagnostic 生成的跟踪消息:
TraceSource traceSource = new TraceSource(Diagnostic);
traceSource.Switch = new SourceSwitch(SourceSwitchDemo, Error);;PresentationTraceSources 类可以产生关联到代码的跟踪消息,从而跟踪整个应用程序。
PresentationTraceSources 类提供各种跟踪方法,使您能够轻松地跟踪事件、属性和数据并提供跟踪信息。 ;PresentationTraceSources 类属于 System.Diagnostics 名称空间,并提供了以下跟踪方法。;PresentationTraceSources 类有一个名为 TraceLevel 的附加属性,用于获取或设置值以指定特定对象所需的详细级别。
下表描述了 TraceLevel 属性的值。;思考以下代码段:
Window xmlns:diag=clr-namespace:System.Diagnostics;assembly=WindowsBase
Grid x:Name=grid1
TextBox Margin=149,122,236,152
Text={Binding ElementName=grid1, Path=ActualWidth, diag:PresentationTraceSources.TraceLevel=High}
Height={Binding ElementName=grid1, Path=Name, diag:PresentationTraceSources.TraceLevel=High}
/TextBox
/Grid /Window
文本框的 Text 属性绑定到父网格的宽度。 ;“输出”窗口将显示绑定失败以及有效绑定的相关信息,如下图所示。 ;思考 SimpleInterest 应用程序的 App.config 文件中的以下代码段:
configuration
system.diagnostics
sources
source name=System
文档评论(0)