天天看點

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

繼續閱讀