我有一个自定义面板,它具有公共依赖属性 MaxItemsCount (定义面板中元素的最大数量),我将此面板作为ItemsPanel提供给我的自定义控件。
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<myPrimitives:MyPanel MaxItemsCount="5"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
我的自定义控件中也有一个名为 MaxItemsCount 的公共依赖属性。
有没有办法将我的面板的MaxItemsCount绑定到我的自定义控件的MaxItemsCount。
我尝试了以下操作:
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<myPrimitives:MyPanel MaxItemsCount="{TemplateBinding MaxItemsCount}"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
......但显然不是这样做的。
非常感谢任何帮助!
答案 0 :(得分:1)
假设您的自定义控件名为MyControl,您可以这样做:
<myPrimitives:MyPanel MaxItemsCount="{Binding MaxItemsCount, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type myPrimitives:MyControl}}}"/>
答案 1 :(得分:0)
谢谢,但您提供的解决方案仅适用于WPF。 经过一番挖掘,我得出的结论是,这种情况发生的唯一方法是通过代码隐藏。