Pregunta

Después de hacer un proyecto con WPF y muy apegado a sus excelentes capacidades de enlace de datos, ahora he de volver a mover ASP.Net y estoy empezando a perder algunos de WPF cosas.

Mi pregunta es...¿hay algo similar para WPF del ValueConverters para ASP.Net?

Por ejemplo, quiero un UserControl a exponer a un público de la propiedad, que es una IEnumerable<int> y el usuario puede entrar a partir de la fuente:

<asp:MyControl1 runat="server" ID="something" TheList="1,3,5,7"/>

Y, a continuación, el valor en TheList se convertirá en un IEnumerable<int>, con algo parecido a una ValueConverter de WPF es.

[Actualización] Solución

Gracias a Nathan Baulch del la mención de una TypeConverter, Tengo de todo esta pregunta y me las arreglé para crear una cadena a la lista de convertidor.

¿Fue útil?

Solución

Le recomiendo que eche un vistazo a System.ComponentModel .TypeConverter .

Este artículo en CodeProject incluye un ejemplo que es bastante similar a la suya la participación de las cadenas de latitud y longitud.

Otros consejos

Yo creo que no.Mi mejor conjetura es la conversión implícita de la Cadena de IEnumberable, que en general es una muy mala cosa, pero podría funcionar en su caso.

Todo en el marcado siempre es tratado como una Cadena de texto, a menos que se ponga en <% %> - entonces es interpretada.

Qué otra cosa se podría hacer es definir IEnumerable control DataSource.Luego MyControl habría TheListDataSourceID desde donde se tomará el IEnumerable de datos.

<asp:MyControl1 runat="server" ID="something" TheListDataSourceID="myDataSource" />

<asp:MyIEnumerableDataSource runat="server" ID="myDataSource" TheList="1,3,5,7" />

A continuación, el IEnumerableDataSource haría la conversión y que volvería IEnumerable para el control de usuario deseado.Mucho mejor caso de la conversión implícita.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top