我有一个UserControl
,其中包含ListView
。 ListView
具有与UserControl
不同的数据上下文(未公开此数据上下文)。如果有人消耗我的控制权,我希望他们能够(间接地)绑定到ListView
的{{1}}依赖属性。它应该感觉就像用户绑定到典型的ItemsSource
。
我不确定最好的方法是什么。看看ItemsSource
ItemsControl
属性如何在Reflector中工作,显示出一些逻辑似乎比简单转发所需要的更多。
我目前最好的想法是将一个集合作为外部控件的依赖属性公开,并在更新时更新ItemsSource
的{{1}}。但是我不确定这个集合应该是什么类型(例如我应该要求ListView
),或者如果有任何问题我应该注意。
非常感谢任何建议或意见。
感谢。
答案 0 :(得分:4)
使用AddOwner将UserControl添加为ItemsControl.ItemsSourceProperty的所有者。在新属性元数据中,为属性更改回调,设置ListView的ItemsSource。