2009-09-10 72 views
2

每當另一個控件的IsChanged事件被觸發時,我需要刷新我的ListView。我如何做到這一點一派,我就看見一個計算器鏈接,導致我here更優雅的ListView查詢

答案之一工作:

listView.ItemsSource = listView.ItemsSource  

那真的只有這樣,才能刷新我ListView?它感覺不太舒服。

+1

哎呀,那真的是關閉了。該聲明應該是一個noop。如果不是有人可能會認爲它是,並刪除它。危險的。 – 2009-09-10 17:12:37

回答

5

只是使其無效。

listView.InvalidateProperty(ListView.ItemsSourceProperty) 

應該這樣做。另外,我真的會建議看MVVM。它往往更強大。在這種情況下,一個MVVM應用程序,我只想做:

的XAML:

<ListView ItemsSource="{Binding MyItems}" /> 

這裏將是我的ViewModel我結合:

public ObservableCollection<MyItem> MyItems 
{ 
    get; set; 
} 

public void IsChangedHandler(...) 
{ 
    ... 
    this.OnPropertyChanged("MyItems"); 
}