如何将ItemsPanel的属性绑定到父项的属性

时间:2009-09-13 11:12:38

标签: silverlight xaml

我有一个自定义面板,它具有公共依赖属性 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>

......但显然不是这样做的。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

假设您的自定义控件名为MyControl,您可以这样做:

<myPrimitives:MyPanel MaxItemsCount="{Binding MaxItemsCount, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type myPrimitives:MyControl}}}"/>

答案 1 :(得分:0)

谢谢,但您提供的解决方案仅适用于WPF。 经过一番挖掘,我得出的结论是,这种情况发生的唯一方法是通过代码隐藏。