J'utilise une liaison de formeReliure à Children.Count
{Binding RelativeSource={RelativeSource Self}, Path=Children.Count, Converter={StaticResource CountToDimensionConverter}, ConverterParameter=Rows}
Malgré l'ajout des enfants en XAML, quand je casse dans le convertisseur, la valeur est toujours 0.
Ce que je suppose que se passe est que les enfants ne sont pas ajoutés jusqu'à ce que cette liaison est appelée. Je suppose aussi que la liaison est cassée après avoir été appelée une fois parce que .Count est une propriété en lecture seule (j'ai déjà eu un problème similaire où j'ai dû ajouter un setter vide dans la propriété pour maintenir la liaison et le fou WPF) d'où la liaison ne se met pas à jour une fois que les enfants sont ajoutés.
Cependant, je suis coincé sur le peu d'où vous venez avec une solution pour le problème et le faire fonctionner ... =/
<UniformGrid x:Name="MyUniformGrid"
Rows="{Binding RelativeSource={RelativeSource Self}, Path=Children.Count, Converter={StaticResource CountToDimensionConverter}, ConverterParameter=R}"
Columns="{Binding RelativeSource={RelativeSource Self}, Path=Children.Count, Converter={StaticResource CountToDimensionConverter}, ConverterParameter=C}">
<Button Content="Hello, World!" />
<Button Content="Hello, World!" />
<Button Content="Hello, World!" />
<Button Content="Hello, World!" />
<Button Content="Hello, World!" />
<Button Content="Hello, World!" />
</UniformGrid>
Merci, Rabit