Wpf 项目之间的模板
我有一个项目集合,希望在Wpf 项目之间的模板,wpf,xaml,Wpf,Xaml,我有一个项目集合,希望在列表视图中以逗号分隔的值列表的形式显示它。如何在值之间显示逗号 到目前为止,我已经创建了一个ItemsPanelTemplate,其中是我的独生子 显然,创建包含逗号的DataTemplate会产生一个尾随逗号,我不需要它。使用此转换器 公共类StringListConverter:IValueConverter { 公共StringListConverter() { Separator=CultureInfo.CurrentCulture.TextInfo.ListSe
列表视图中以逗号分隔的值列表的形式显示它。如何在值之间显示逗号
到目前为止,我已经创建了一个ItemsPanelTemplate
,其中
是我的独生子
显然,创建包含逗号的DataTemplate
会产生一个尾随逗号,我不需要它。使用此转换器
公共类StringListConverter:IValueConverter
{
公共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();
}
}
公共字符串分隔符{get;set;}
公共对象转换(对象值、类型targetType、对象参数、CultureInfo区域性)
{
字符串结果=”;
if(值为IList&&targetType.IsAssignableFrom(类型(字符串)))
{
结果=string.Join(分隔符,(值为IList.ToArray());
}
返回结果;
}
公共对象转换回(对象值、类型targetType、对象参数、CultureInfo区域性)
{
抛出新的NotImplementedException();
}
}
在参考资料中的XAML中:
<rw:StringListConverter x:Key="StringListConverter"/>
然后
使用此转换器
公共类StringListConverter:IValueConverter
{
公共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();
}
}
公共字符串分隔符{get;set;}
公共对象转换(对象值、类型targetType、对象参数、CultureInfo区域性)
{
字符串结果=”;
if(值为IList&&targetType.IsAssignableFrom(类型(字符串)))
{
结果=string.Join(分隔符,(值为IList.ToArray());
}
返回结果;
}
公共对象转换回(对象值、类型targetType、对象参数、CultureInfo区域性)
{
抛出新的NotImplementedException();
}
}
在参考资料中的XAML中:
<rw:StringListConverter x:Key="StringListConverter"/>
然后
在ViewModel中使用string.Join()
怎么样?是的,如果列表中的项目是字符串,这将是一个简单的解决方案,但是我需要一个更通用的解决方案。逗号分隔只是问题的一个例证。虽然我实际上想要一个空格分隔,元素本身是字符串,但我仍然不想加入它们,因为它们应该有不同的颜色和不同的悬停效果等。请看我的答案。在您的ViewModel中string.join()
如何?是的,如果列表中的项目是字符串,这将是一个简单的解决方案,然而,我想要一个更普遍的解决方案。逗号分隔只是问题的一个例证。虽然我实际上想要一个空间分隔,元素本身是字符串,但我仍然不想加入它们,因为它们应该有不同的颜色和不同的悬停效果等等。请看我的答案。