I'm needing to display a list of numbers from a collection in an Items Control. So the items are: "1", "2", "3"
.
When they are rendered, I need them separated by a comma (or something similar). So the above 3 items would look like this: "1, 2, 3"
.
How can I add a separator to the individual items, without having one tacked on the end of the list?
I am not stuck on using an ItemsControl, but that's what I had started to use.
<ItemsControl ItemsSource="{Binding Numbers}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <!-- could use a WrapPanel if more appropriate for your scenario --> <StackPanel Orientation="Horizontal"/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <TextBlock x:Name="commaTextBlock" Text=", "/> <TextBlock Text="{Binding .}"/> </StackPanel> <DataTemplate.Triggers> <DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}"> <Setter Property="Visibility" TargetName="commaTextBlock" Value="Collapsed"/> </DataTrigger> </DataTemplate.Triggers> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl>
I arrived at your question because I was looking for a solution in Silverlight, which does not have a previous data relative source.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With