2011-08-29 123 views
3
private void lbcreatedRequests_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 

} 

//Display Edit Page 
private void btnEdit_Click(object sender, RoutedEventArgs e) 
{ 
    lbcreatedRequests.Items.Clear(); //crash here 
    _loggedIn = Home._loggedIn; 
    if (_loggedIn == true) 
    { 
     wcf.retrievecreatedrequestListAsync(Home.myID); 
    } 
} 

试图清除Listbox,之前它再次加载新一Listbox.Items.Clear()崩溃上的SelectionChanged

错误

对象引用不设置为一个对象的一个​​实例。

在SGTaxiPool.Views.ShareCab.lbcreatedRequests_SelectionChanged(对象发件人,SelectionChangedEventArgs E) 在System.Windows.Controls.Primitives.Selector.OnSelectionChanged>(SelectionChangedEventArgs E) 在System.Windows.Controls.Primitives.Selector.InvokeSelectionChanged (列表1 unselectedItems, List 1 selectedItems) 在System.Windows.Controls.Primitives.Selector.SelectionChanger.End() 在System.Windows.Controls.Primitives.Selector.OnItemsChanged(NotifyCollectionChangedEventArgs E) 在System.Windows.Controls.ListBox。 OnItemsChanged(NotifyCollectionChangedEventArgs e) at System.Windows.Controls.ItemsControl.OnItemCollectionChanged(Object sender,NotifyCollectionC hangedEventArgs E) 在System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(对象>发件人,NotifyCollectionChangedEventArgs E) 在System.Windows.Controls.ItemCollection.NotifyCollectionChanged>(NotifyCollectionChangedEventArgs E) 在System.Windows.Controls.ItemCollection.ClearImpl( ) 在System.Windows.PresentationFrameworkCollection`1.Clear() 在SGTaxiPool.Views.ShareCab.btnEdit_Click(对象发件人,RoutedEventArgs E) 在System.Windows.Controls.Primitives.ButtonBase.OnClick() 在System.Windows .Controls.Button.OnClick() at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ct RL,EventArgs的) 在MS.Internal.JoltHelper.FireEvent(IntPtr的unmanagedObj,IntPtr的unmanagedObjArgs,的Int32 argsTypeIndex,的Int32 actualArgsTypeIndex,字符串eventName的

+5

**你得到了什么错误**? – SLaks

+5

这怎么可能有3个upvotes?根本没有信息 –

+3

BrokenGlass的答案是正确的。太糟糕了,他删除了它。他与此链接:http://forums.silverlight.net/p/17967/73247.aspx –

回答

1

This thread提出这个问题的解决方法是做到这一点的调度线程:

private void lbcreatedRequests_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    Dispatcher.BeginInvoke(() => { lbcreatedRequests.Items.Clear(); }); 
} 
+1

这是一个UI事件处理程序。它已经在UI线程上。 – SLaks

+0

不适用于此答案 –