tal vez podría ayudarme a entender por qué obtengo una excepción no controlada "XAML no válido" en el diseñador de Visual Studio 2010 al intentar hacer lo siguiente en un Page
.Silverlight 4: "XAML no válido" utilizando el convertidor en DataTemplate
Tengo un Converter
llamado DateTimeConverter
que convierte una fecha en una cadena de fecha alemana. El convertidor funciona bien He incluido el espacio de nombres y añadió lo siguiente a los recursos de la página:
<navigation:Page.Resources>
<myClasses:DateTimeConverter x:Key="dateTime" />
</navigation:Page.Resources>
ahora tengo un cuadro de lista que yo quiero que se unen a una lista de objetos. Hago el enlace en el código, pero me gustaría definir la plantilla de datos. Por lo tanto, he agregado lo siguiente a mi diseño:
<ListBox x:Name="lbConversation" BorderBrush="#00000000">
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="0" Padding="4">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Message, Mode=OneWay}" />
<TextBlock Text="{Binding TimeStamp, Mode=OneWay, Converter={StaticResource dateTime}}" />
</StackPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Y esto funciona bien cuando funciono. Sin embargo, en la sección de códigos, el código de la plantilla de datos está oculto y el diseñador dice "XAML no válido". Cuando elimino la parte Converter=...
, este error se ha ido.
¿Este es un error de diseño? ¿Que puedo hacer?
EDITAR
Por cierto: El mismo código no lanza el error dentro de un proyecto de WPF!
¿Hizo una compilación después de definir el convertidor en xaml y aplicarlo en el DataTemplate? – Jehof
Como dije en mi pregunta: todo está bien cuando ejecuto la aplicación, lo que implica que la construí :-) También: acepté una respuesta antes de leer su comentario, eso lo resuelve. –
Para cualquier persona que ingrese desde Google: también descubrí que tenía este problema cuando estaba ingresando un espacio de nombres en mi archivo XAML que ya no existía. –