comme le dit le titre: Existe-t-il une manière élégante d'activer des colonnes spécifiques dans un UniformGrid dynamique?Une manière élégante d'activer des colonnes spécifiques dans un UniformGrid dynamique peut être redimensionnable
Les détails:
J'ai un ItemsControl et régler le ItemsPanelTemplate être de type UniformGrid. Le ItemTemplate est défini sur un contrôle personnalisé qui rend le contenu de la colonne.
Voici l'extrait de XAML:
<ItemsControl x:Name="PART_Dimensions"
Grid.Column="1" HorizontalAlignment="Stretch">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="{Binding
Path=ItemsSource.Count,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type ItemsControl}}}"
IsItemsHost="True"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<local:Dimension
PropertyA="{Binding SourceA}"
ItemsSource="{Binding SourceB}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
Maintenant, ce que je suis en train de réaliser est de rendre possible, que les colonnes spécifiques sont redimensionnables, en leur donnant une largeur statique tout en permettant les autres colonnes doivent être dimensionnées uniformément en largeur.
Quelqu'un a-t-il une direction à me montrer? J'espérais éviter des implémentations personnalisées trop spécifiques du Rendu de UniformGrid, y a-t-il un moyen intelligent et facile de le faire?
merci à l'avance en ce qui concerne Ole
Merci decyclone. J'ai essayé un StackPanel en premier lieu, mais j'ai eu des problèmes en dimensionnant automatiquement le contenu des "colonnes" à la plus grande largeur possible. Au début, une grille semble être un bon choix, mais est-il possible de le laisser faire le template qu'un ItemsControl vous permet de faire? –
Bien sûr que c'est possible. Cet article (http://www.scottlogic.co.uk/blog/colin/2010/11/using-a-grid-as-the-panel-for-an-itemscontrol/) vous montre comment faire cela. – decyclone
On dirait que vous avez sauvé ma journée. Merci beaucoup. Je vais essayer ça. –