我正在开发一个自定义WPF控件(“多选择器”)。我将用户ItemsSource
属性用于绑定目的,但在内部我正在使用这样的ItemWrappers集合:
<UserControl x:Class="TFSControls.MultiSelectorControl.MultiSelectorControl">
<ItemsControl Name="ItemsPresenter" ItemsSource="{Binding ItemWrappers}">
...
</ItemsControl>
</UserControl>
问题是,为了使这个绑定工作,ItemWrappers属性必须是公共的。 我会对内部感到满意,因为控件位于自己的组件中。
实现这一目标的最简单方法是什么?
我所知道的唯一解决方案是在我的程序集中继承ItemsControl,但这似乎不正确 - 我不需要自定义行为,只是希望此属性是内部/受保护的。
答案 0 :(得分:0)
您可以使ItemWrappers
成为只读依赖项属性。
答案 1 :(得分:0)
属性必须是公共的,但对象本身可能不是。因此,作为另一种可能的解决方案,您可以将此属性封装在另一个类中,在控件中将该类的实例设置为私有并绑定到它。