J'ai un ItemsControl avec un DataTemplate qui est lié à une ObservableCollection d'entiers.Largeur des éléments dans ItemsControl
<ItemsControl Name="DimsContainer" ItemTemplate="{StaticResource DimensionsTemplate}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
Et dans les ressources Windows:
<Window.Resources>
<DataTemplate x:Key="DimensionsTemplate" >
<TextBlock Text="{Binding}"
Padding="5"
VerticalAlignment="Center"
FontSize="32"/>
</DataTemplate>
</Window.Resources>
Mon problème est que dans le code, je dois être en mesure de déterminer la largeur des TextBlocks (ou quel que soit l'élément est si je change plus tard) dans ItemsControl. Est-ce que quelqu'un a une idée de comment faire cela? Lorsque je fais DimsContainer.Items [i] il me donne l'élément lié pas le TextBlock.
Et comment puis-je obtenir la largeur de cela? – KrisTrip
Compris, merci! ((FrameworkElement) (this.DimsContainer.ItemContainerGenerator.ContainerFromIndex (i))) .RedWidth; – KrisTrip