天天看点

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

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

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

public MainPage() 

InitializeComponent(); 

List<CityInformation> cityList=new List<CityInformation>(){ 

new CityInformation(){ CityName="北京", AddrName="中国北京", TelNum="010"}, 

new CityInformation(){ CityName="成都", AddrName="中国四川", TelNum="028"}, 

new CityInformation(){ CityName="东京", AddrName="日本东京", TelNum="110"}, 

new CityInformation(){ CityName="广州", AddrName="中国广东", TelNum="020"}, 

new CityInformation(){ CityName="巴黎", AddrName="法国巴黎", TelNum="01x"} 

}; 

this.ShowCityList.ItemsSource = cityList; 

/// <summary> 

/// 城市信息的实体类 

/// </summary> 

public class CityInformation 

private string _AddrName; 

private string _CityName; 

private string _TelNum; 

public string AddrName 

get { return _AddrName; } 

set { _AddrName = value; } 

public string CityName 

get { return _CityName; } 

set { _CityName = value; } 

public string TelNum 

get { return _TelNum; } 

set { _TelNum = value; } 

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

<a target="_blank" href="http://blog.51cto.com/attachment/201204/121752555.jpg"></a>

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

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

<a target="_blank" href="http://blog.51cto.com/attachment/201204/121707864.jpg"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201204/121647716.jpg"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201204/121522209.jpg"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201204/121504618.jpg"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201204/121445741.jpg"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201204/121423374.jpg"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201204/121406323.jpg"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201204/121323579.jpg"></a>

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

继续阅读