我正在使用一个需要获取类型列表的值转换器,这是转换器的一个属性。如果我会用双值列表,我可以使用下面的语法(其中工作正常):在XAML中声明类型列表
代码
public class MyConverter : IValueConverter
{
public List<double> MyList { get; set; }
// ...
}
XAML
<Converter:MyConverter x:Key="MyConverter">
<Converter:MyConverter.MyList>
<System.Double>1</System.Double>
<System.Double>2</System.Double>
</Converter:MyConverter.MyList>
</Converter:MyConverter>
但是,如果我尝试将这种方法与类型列表一起使用,抛出异常:
Object of type 'System.RuntimeType' cannot be converted to type 'System.Collections.Generic.List`1[System.Type]'
这是我的转换器和其用法:
代码
public class MyConverter : IValueConverter
{
public List<Type> MyList { get; set; }
// ...
}
XAML
<Converter:MyConverter x:Key="MyConverter">
<Converter:MyConverter.MyList>
<x:Type TypeName="MyType1" />
<x:Type TypeName="MyType2" />
</Converter:MyConverter.MyList>
</Converter:MyConverter>
我猜XAML语法是错误的,但我无法找到合适的句法。
做了任何答案适合你? – Artiom 2012-08-16 12:20:41
@Artiom你的回答很有帮助,谢谢。无论如何,在我决定什么是令人满意的答案之前,我想更多地了解这个问题。 – MatthiasG 2012-08-16 13:42:25
你有没有尝试过的解决方案?我已经更新了我的** colinsmith **的解决方案似乎也可以工作 – Artiom 2012-08-17 09:21:35