Я должен отобразить список чисел от набора в Управлении Объектами. Таким образом, объекты: "1", "2", "3"
.
Когда они представляются, мне нужны они разделенный запятой (или что-то подобное). Таким образом, вышеупомянутые 3 объекта были бы похожи на это: "1, 2, 3"
.
Как я могу добавить разделитель к отдельным объектам, не лавируя один на конце списка?
Я не застреваю при использовании ItemsControl, но это - то, что я начал использовать.
<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>
Я пришел к вашему вопросу, потому что искал решение в Silverlight, которое не имеет предыдущего источника относительных данных.
Я решил, что должен дать решение, которое у меня получилось.
В итоге я привязал свою коллекцию элементов к тексту TextBlock и использовал преобразователь значений для преобразования связанной коллекции элементов в форматированную строку.