2011-07-13 27 views
1

我有一個ItemsControl的ItemsSource,我分配(通過代碼)一個ObservableCollection(讓我們稱之爲Items)的INotifyPropertyChanged對象(數據模型)。這個數據模型有一個PointCollection屬性。第二次綁定到PointCollection沒有呈現

視圖(XAML)綁定到PolyLine上的此PointCollection(在Points屬性上)。 最初當我將這個Items集合設置爲ItemsControl.ItemsSource時,我可以看到這些行確實呈現。

問題: 當我設置ItemsControl.ItemsSource到別的東西(如不具備任何行另一個的ObservableCollection)然後將其設置回原來的集合,我無法看到的線條,即使集合應該呈現它們,因爲集合數據模型包含PointCollection。

從我所能研究的內容來看,綁定到PointCollection有一些特別棘手的問題。我想知道是否有人已經解決了這個問題,並且/或者知道了一個讓它渲染的方法(即使控件無效以強制重繪)?

謝謝。

+0

這實際上是從這裏複製的: http://stackoverflow.com/questions/871069/why-doesnt-this-data-binding-work – AlvinfromDiaspar

回答

1

阿爾文,

我不知道這是否會工作,但,你有沒有嘗試創建一個新的PointCollection?:

PointCollection newCollection = new PointCollection(oldCollection); 
myItemsControl.ItemsSource = newCollection; 

如果不工作,也許可能有必要使用更多基於WPF的語法:

myItemsControl.SetValue(ItemsControl.PointsProperty, newCollection); 

我正在努力解決一些PointCollection問題,所以如果這兩個選項都有幫助,請告訴我。

相關問題