2011-08-29 4 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.Items.Clear는() 인 selectionchanged에 충돌

오류

개체 참조를로드하기 전에 Listbox을 제거하려고 .

System.Windows.Controls.Primitives.Selector.InvokeSelectionChanged에서 System.Windows.Controls.Primitives.Selector.OnSelectionChanged에서 SGTaxiPool.Views.ShareCab.lbcreatedRequests_SelectionChanged (개체 송신자 SelectionChangedEventArgs E) > (SelectionChangedEventArgs E)에서

(목록 1 unselectedItems, List 1 selectedItems를) System.Windows.Controls.Primitives.Selector.SelectionChanger.End에서 () System.Windows.Controls.Primitives.Selector.OnItemsChanged (NotifyCollectionChangedEventArgs 전자)에서 System.Windows.Controls.ListBox에서 . OnItemsChanged (NotifyCollectionChangedEventArgs e) 에서 System.Windows.Controls.ItemsControl.OnItemCollectionChanged (개체 보낸 사람, NotifyCollectionC System.Windows.Controls.ItemCollection.ClearImpl에서 System.Windows.Controls.ItemCollection.NotifyCollectionChanged에서 System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke (개체> 송신자 NotifyCollectionChangedEventArgs E)에서 hangedEventArgs E) > (NotifyCollectionChangedEventArgs E) () System.Windows.Controls.Primitives.ButtonBase.OnClick()에서 SGTaxiPool.Views.ShareCab.btnEdit_Click (개체 송신자 RoutedEventArgs E)에서 System.Windows.PresentationFrameworkCollection`1.Clear()에서 System.Windows에서 .Controls.Button.OnClick() at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp (MouseButtonEventArgs e) at System.Windows.Controls.Control.OnMouseLeftButtonUp (Control ct. MS.Internal.JoltHelper.FireEvent (IntPtr입니다 unmanagedObj, IntPtr입니다 unmanagedObjArgs, INT32 argsTypeIndex, INT32 actualArgsTypeIndex, 문자열 EVENTNAME

+5

** 어떤 오류가 발생합니까 **? – SLaks

+5

이것은 어떻게 3 개의 upvote를 가질 수 있습니까? 아무 정보도 전혀 없다 –

+3

BrokenGlass의 대답은 정확했다. 너무 나쁜 그는 그것을 삭제했습니다. 그는 이것에 링크 : http://forums.silverlight.net/p/17967/73247.aspx –

답변

1

This thread에서 RL, EventArgs입니다 전자) 는이 문제에 대한 해결 방법은 발송자 스레드에서이 작업을 수행하는 것입니다 제안 :

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

그것은 UI 이벤트 핸들러입니다. 이미 UI 스레드에 있습니다. – SLaks

+0

이 대답을 위해 작동하지 않습니다. –