我有一个项目集合,并希望将其显示ListView
为逗号分隔值列表。如何在值之间显示逗号?
到目前为止,我已经创建了ItemsPanelTemplate
一个<VirtualizingStackPanel IsItemsHost="True" Orientation="Horizontal"/>
独生子女。
显然,创建一个DataTemplate
包含逗号的会导致一个尾逗号,我不想要一个。
使用这个转换器...
公共类 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}}"/>