2010-03-01 67 views
1

我有一個UserControl,其中包含 - ListViewListView具有與UserControl不同的數據上下文(此數據上下文未公開)。如果有人消費我的控制權,我希望他們能夠(間接)綁定到ListView的依賴項屬性。它應該真的感覺像用戶綁定到一個典型的ItemsSource轉發項目的最佳做法來源

我不確定最好的處理方式是什麼。看看ItemsControlItemsSource屬性在Reflector中的工作情況,顯示出一些似乎比簡單轉發所需要的更復雜的邏輯。

我目前最好的想法是公開一個集合作爲外部控件的依賴屬性,當它更新時,更新ListViewItemsSource。但我不確定這個集合應該是什麼類型(例如,我需要一個ObservableCollection<T>),或者如果有任何我應該注意的陷阱。

任何建議或意見將不勝感激。

謝謝。

回答

4

使用AddOwner將您的UserControl添加爲ItemsControl.ItemsSourceProperty的所有者。在新的屬性元數據中,給一個屬性更改回調,它設置ListView的ItemsSource。

+0

正是我需要的,謝謝! – 2010-03-01 17:20:34

相關問題