我有一组项目,希望在ListView
中将其显示为逗号分隔值列表。如何在值之间显示逗号?
到目前为止,我已经创建了一个ItemsPanelTemplate
,其中<VirtualizingStackPanel IsItemsHost="True" Orientation="Horizontal"/>
是唯一的孩子。
显然创建一个包含逗号的DataTemplate
会产生一个拖尾逗号,我不想要一个逗号。
答案 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}}"/>