1. 程式人生 > >Silverlight中使用SDK的DataGrid,出現滾動條,每次滾動會觸發LoadingRow事件

Silverlight中使用SDK的DataGrid,出現滾動條,每次滾動會觸發LoadingRow事件

之前使用該控制元件,還並沒有注意到此問題,今天測試突然提出這個問題,經過重複試驗,當時測試出現該問題的條件,終於把這個問題找出來。

很多時候,我們習慣使用SDK的DataGrid控制元件(引入xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"),並且在LoadingRow事件中,針對每一行添加了相應的操作事件(如:修改,刪除等等)時,需要注意,SDK的DataGrid控制元件中,當出現了滾動條之後,使用者每執行一次滾動事件,就會相應的觸發LoadingRow事件。

 所以,如果你在LoadingRow事件中,添加了相應的操作事件,請一定注意不要多次註冊事件如:

 imgDelete.MouseLeftButtonDown += imgDelete_MouseLeftButtonDown;

而應該改為:

 imgDelete.MouseLeftButtonDown -= imgDelete_MouseLeftButtonDown;
 imgDelete.MouseLeftButtonDown += imgDelete_MouseLeftButtonDown;