2

アイテムのコレクションがありListView、コンマ区切りの値のリストとして表示したいと考えています。値の間にコンマを表示するにはどうすればよいですか?

これまでのところ、 を唯一の子として作成しましItemsPanelTemplate<VirtualizingStackPanel IsItemsHost="True" Orientation="Horizontal"/>

明らかDataTemplateに、コンマを含む a を作成すると、必要のない末尾のコンマが発生します。

4

1 に答える 1

0

このコンバーターを使用...

public class StringListConverter : IValueConverter { public StringListConverter() { Separator = CultureInfo.CurrentCulture.TextInfo.ListSeparator + " "; }

    public string Separator { get; set; }



    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        string result = "";
        if (value is IList<string> && targetType.IsAssignableFrom(typeof(string)))
        {
            result = string.Join(Separator, (value as IList<string>).ToArray());
        }
        return result;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

リソースの XAML で:

<rw:StringListConverter x:Key="StringListConverter"/>

それから

<TextBlock Text="{Binding ItemList, Converter={StaticResource StringListConverter}}"/>
于 2012-08-13T05:47:07.280 に答える