2010-12-15 95 views
0

我有一個通用的綁定到自定義控件的對象的列表。在代碼隱藏方面,一切似乎都行得通,但我對集合所做的任何更改似乎都不反映在UI中(即使它們在所有代碼中都可以找到)。當項目添加到綁定集合時,WPF - UI未更新

下面是我的UI的XAML:

<controls:ControllableListView x:Name="lvSummaryCaseEvents" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3" Label="Case Events:" ItemsSource="{Binding CaseEvents}" AddButtonClicked="ControllableListView_AddButtonClicked"> 

背後,我添加項目到集合代碼:

_caseScreen.CaseEvents.Add(caseEvent); 
//after the line above executes, lvSummaryCaseEvents (in the debugger) shows the correct number of items and the items' values are all correct. No change to the UI whatsoever 

中的ItemSource屬性在我的用戶控件:

public static readonly DependencyProperty ItemsSourceProperty = DependencyProperty.Register("ItemsSource", typeof(System.Collections.IList), typeof(ControllableListView)); 

public System.Collections.IList ItemsSource 
{ 
    get 
    { 
     return this.GetValue(ItemsSourceProperty) as System.Collections.IList; 
    } 
    set 
    { 
     this.SetValue(ItemsSourceProperty, value); 
    } 
} 

最後,一個標準ListView的XAML位於我的用戶控件中,它是綁定的上面列出的ItemsSource屬性:

<ListView Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="4" Name="lvListView" ItemsSource="{Binding ItemsSource}" View="{Binding View}" SelectionChanged="lvListView_SelectionChanged" /> 

只是重申,一切工作正常,當我周圍顯示採集的第一次,但是當我將項目添加到集合,用戶界面不會反映所做的更改。

由於提前,
桑尼

+0

是什麼類型_caseScreen.CaseEvents? – 2010-12-15 00:58:08

回答

2

更改您的收藏ObservableCollection<T>

+0

非常好。謝謝。 – 2010-12-15 01:13:09

相關問題