puede usar the <x:Array>
markup extension, pero su sintaxis es bastante detallada.
Otra opción es crear su propia TypeConverter
que puede convertir de la lista separada por comas de una matriz:
class ArrayTypeConverter : TypeConverter
{
public override object ConvertFrom(
ITypeDescriptorContext context, CultureInfo culture, object value)
{
string list = value as string;
if (list != null)
return list.Split(',');
return base.ConvertFrom(context, culture, value);
}
public override bool CanConvertFrom(
ITypeDescriptorContext context, Type sourceType)
{
if (sourceType == typeof(string))
return true;
return base.CanConvertFrom(context, sourceType);
}
}
Si el tipo que estaba convirtiendo a era su tipo, que podría luego aplicar the [TypeConverter]
attribute a ese tipo. Pero como quiere convertir a string[]
, no puede hacer eso. Así que hay que aplicar ese atributo a todas las propiedades en las que desee utilizar este convertidor:
[TypeConverter(typeof(ArrayTypeConverter))]
public string[] PropName { get; set; }
¿Por qué enlazar a 'StaticResource'? ¿Por qué recurso en absoluto? – Snowbear
+1, este es el camino a seguir para los valores conocidos en tiempo de compilación. Ahora, si necesita valores dinámicos (valores de tiempo de ejecución, límite, etc.) va a necesitar un I (Multi) ValueConverter que devuelva una matriz. –
@Snowbear: esto es lo que sé por el momento, agradecería cualquier solución más avanzada, ¿por qué eliminó su respuesta y no proporcionó una respuesta? Realmente no tengo otra idea de cómo hacerlo, así que haría +1 si se muestra de otra manera, gracias de antemano – sll