ItemsControl 内のアイテム間にセパレーターを追加するにはどうすればよいでしょうか? 質問する

ItemsControl 内のアイテム間にセパレーターを追加するにはどうすればよいでしょうか? 質問する

アイテム コントロールのコレクションから数値のリストを表示する必要があります。 アイテムは次のようになります"1", "2", "3"

これらをレンダリングするときは、カンマ (または同様の文字) で区切る必要があります。したがって、上記の 3 つの項目は次のようになります"1, 2, 3"

リストの最後に区切り記号を追加せずに、個々の項目に区切り記号を追加するにはどうすればよいでしょうか?

私は ItemsControl の使用にこだわっているわけではありませんが、それを使い始めました。

ベストアンサー1

<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 でのソリューションを探していたため、あなたの質問にたどり着きました。

おすすめ記事