2009-09-13 5 views
0

J'ai un panneau personnalisé qui a une propriété de dépendance publique MaxItemsCount (définit le nombre maximum d'éléments dans le panneau), et je donne ce panneau comme un ItemsPanel à mon contrôle personnalisé.Comment lier une propriété d'un ItemsPanel à une propriété du parent

<Setter Property="ItemsPanel"> 
    <Setter.Value> 
     <ItemsPanelTemplate> 
      <myPrimitives:MyPanel MaxItemsCount="5"/> 
     </ItemsPanelTemplate> 
    </Setter.Value> 
</Setter> 

J'ai aussi une propriété de dépendance publique dans mon contrôle personnalisé appelé MaxItemsCount ainsi.

Y at-il un moyen de lier le MaxItemsCount de mon panneau au MaxItemsCount de mon contrôle personnalisé.

J'ai essayé de faire ce qui suit:

<Setter Property="ItemsPanel"> 
    <Setter.Value> 
     <ItemsPanelTemplate> 
      <myPrimitives:MyPanel MaxItemsCount="{TemplateBinding MaxItemsCount}"/> 
     </ItemsPanelTemplate> 
    </Setter.Value> 
</Setter> 

... mais apparemment ce n'est pas comment faire.

Toute aide serait grandement appréciée!

Répondre

1

En supposant que votre commande personnalisée est appelée MyControl, vous pouvez le faire comme ça:

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

Merci, mais la solution que vous fournissez est pour WPF seulement. Après quelques fouilles, je suis arrivé à la conclusion que la seule façon de le faire est via le code-behind.

Questions connexes