Silverlight 5 beta新特性探索系列:2.在XAML代码中设置断点和Binding绑定调试【附带源码实例】

简介:

       在Silverlight之前的版本中都不能在XAML代码中设置断点以跟踪调试的,在Silverlight 5 beta版中我们将能够为Binding数据的XAML代码设置断点以跟踪调试相应的数据绑定过程。

        首先我们新建一个Silverlight 5应用程序,然后准备后台数据代码如下以绑定一个DataGrid控件。

 


 
 
  1. public MainPage() 
  2. InitializeComponent(); 
  3. List<CityInformation> cityList=new List<CityInformation>(){ 
  4. new CityInformation(){ CityName="北京", AddrName="中国北京", TelNum="010"}, 
  5. new CityInformation(){ CityName="成都", AddrName="中国四川", TelNum="028"}, 
  6. new CityInformation(){ CityName="东京", AddrName="日本东京", TelNum="110"}, 
  7. new CityInformation(){ CityName="广州", AddrName="中国广东", TelNum="020"}, 
  8. new CityInformation(){ CityName="巴黎", AddrName="法国巴黎", TelNum="01x"
  9. }; 
  10. this.ShowCityList.ItemsSource = cityList; 
  11. /// <summary> 
  12. /// 城市信息的实体类 
  13. /// </summary> 
  14. public class CityInformation 
  15. private string _AddrName; 
  16. private string _CityName; 
  17. private string _TelNum; 
  18. public string AddrName 
  19. get { return _AddrName; } 
  20. set { _AddrName = value; } 
  21.  
  22. public string CityName 
  23. get { return _CityName; } 
  24. set { _CityName = value; } 
  25.  
  26. public string TelNum 
  27. get { return _TelNum; } 
  28. set { _TelNum = value; } 

        一、现在我们首先开始设置XAML断点如下图所示:

        二、运行程序将在设置断点的Xaml代码位置停止,并且我们在下方“局部变量”窗口中可以看到当前的"BindingState"(绑定状态信息)如下图:

        三、在"FinalSource”中即是当然的数据绑定源类的相关字段信息如下图:

        四、在"Binding”-->"[System.Window.Data.Binding]"-->"Path"下的AddrName即是当然列绑定的字段名,如下图所示:

        五、在"[System.Windows.Data.Debugging.UpdateTargetPipeline]"-->"InitialValue"下的值即是当前绑定的字段AddrName的值,如下图所示:

        六、此时我们按F11键开始调试XAML中的断点出现"无可用源"的页面提示如下图:

        七、别慌,我们点击"显示反编译"以继续跟踪调试XAML绑定,继续关注"局部变量"窗口别转移,会出现如下界面:

        八、继续按F11键,会跟踪调试到当前行的"TelNum"字段,当前跟踪值为"010"。

        九、继续按F11键,换到下一行数据的时候,我们回出现以下界面,显示下一行数据的类信息如下:

        十、继续按F11键,直到所有的信息都调试完成,显示出结果如下图:

        本实例采用VS2010+Silverlight 5.0 beta版本,如需源码请点击 SL5Binding.zip 下载。



本文转自程兴亮 51CTO博客,原文链接:http://blog.51cto.com/chengxingliang/823005

相关文章
|
开发工具
Silverlight无法启动调试,错误“Unable to start debugging. The Silverlight Developer Runtime is not installed. Please install a matching version.” 解决办法
  今天调试Silverlight出现了以下错误: 意思是“无法启动调试,因为Silverlight Developer Runtime没有安装,请安装一个匹配的版本”。但是按Ctrl + F5可以调试运行,不对啊,前几天还好好的,今天怎么就不行了呢? 突然想起来,前几天Silverlight升级了,于是卸载Silverlight SDK重装,还是有这个错误。
859 0
|
开发工具 IDE C++
silverlight: "[HtmlPage_NotEnabled] 调试资料字符串不可用"的解决
相信有不少人遇到过这个恶心的问题,xaml与cs编译正常,也能在浏览器里运行,但是就是无法在vs.net或blend里以【设计视图】方式打开,只能对着代码视图盲打。(个人觉得这是blend与vs.net的一个严重bug) 出现这个问题的原因,多半是在构架函数里用到了HtmlPage,运行时SL...
835 0
|
Web App开发 JavaScript 内存技术
巧用FireFox来调试Silverlight
做前端开发的朋友应该对FireFox再熟悉不过了,FireFox有一个附加组件FireBug。在HTML中可以直接写     console.log("test"); 这样在底部的控制台就能直接看到输出的值,他的作用就好像Visual Studio中的Console.WriteLine() 一样。
917 0

热门文章

最新文章