项目之间的模板

时间:2012-08-05 16:14:57

标签: wpf xaml

我有一组项目,希望在ListView中将其显示为逗号分隔值列表。如何在值之间显示逗号?

到目前为止,我已经创建了一个ItemsPanelTemplate,其中<VirtualizingStackPanel IsItemsHost="True" Orientation="Horizontal"/>是唯一的孩子。

显然创建一个包含逗号的DataTemplate会产生一个拖尾逗号,我不想要一个逗号。

1 个答案:

答案 0 :(得分: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}}"/>