我已经实现了从Link的IMultiValueConverter绑定多个值到一个标签。如何将多个值绑定到一个标签?
namespace MyApp
{
[ValueConversion(typeof(object), typeof(string))]
public class ConcatenateFieldsMultiValueConverter : IMultiValueConverter
{
public object Convert(
object[] values,
Type targetType,
object parameter,
System.Globalization.CultureInfo culture
)
{
string strDelimiter;
StringBuilder sb = new StringBuilder();
if (parameter != null)
{
//Use the passed delimiter.
strDelimiter = parameter.ToString();
}
else
{
//Use the default delimiter.
strDelimiter = ", ";
}
//Concatenate all fields
foreach (object value in values)
{
if (value != null && value.ToString().Trim().Length > 0)
{
if (sb.Length > 0) sb.Append(strDelimiter);
sb.Append(value.ToString());
}
}
return sb.ToString();
}
public object[] ConvertBack(
object value,
Type[] targetTypes,
object parameter,
System.Globalization.CultureInfo culture
)
{
throw new NotImplementedException("ConcatenateFieldsMultiValueConverter cannot convert back (bug)!");
}
}
}
然而,当我引用
xmlns:local="clr-namespace:MyApp"
在我的窗口属性
在XAML空间(namespace MyApp的)和内窗口
<Window.Resources>
<local:ConcatenateFieldsMultiValueConverter x:Key="mvc"/>
</Window.Resources>
我独立的类ConcatenateFieldsMultiValueConverter无法识别定义以下。
你能想象为什么这个类无法在Window.Resources中识别吗?
请向我显示您的Converter的名称空间 –
添加Converter的名称空间。 – user3524628
我不是那么远,因为 无法识别。 ConcatenateFieldsMultiValueConverter在命名空间MyApp中是未知的。 –
user3524628