今早遷移一個WinForm項目到WPF,ComboBox控件的SelectedIndexChanged事件遷移為SelectionChanged事件後出現了奇怪的棧錯誤。經查明是SelectionChanged事件在WPF頁面加載完成之前會自動執行一次,我們并不希望這樣。
以下方法可避免SelectionChanged事件的第一次執行:
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.RemovedItems.Count > 0)
{
//事件響應
}
}
e.RemovedItems.Count可以幫助屏蔽頁面初始化完成前的非法操作。