Repetid conmigo mil veces:

Los elementos del DataTemplate en un FrameworkElement con DataBinding deben ser propiedades.

 

Los elementos del DataTemplate en un FrameworkElement con DataBinding deben ser propiedades.

Los elementos del DataTemplate en un FrameworkElement con DataBinding deben ser propiedades.

Los elementos del DataTemplate en un FrameworkElement con DataBinding deben ser propiedades.

Los elementos del DataTemplate en un FrameworkElement con DataBinding deben ser propiedades.

O en otras palabra, cuando uses el modelo MVVM (al menos en Windows Phone) los elementos de binding en la plantilla de datos deben ser propiedades aunque sean del tipo genérico.
Es decir en
            <ListBox>
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Grid Margin=»10″>
                            <Grid.RowDefinitions>
                                <RowDefinition />
                                <RowDefinition />
                            </Grid.RowDefinitions>
                            <TextBlock Text=»{Binding Name}» Grid.Row=»0″ FontWeight=»Bold» FontSize=»20″/>
                            <TextBlock Text=»{Binding Surname}» Grid.Row=»1″ FontSize=»10″/>
                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
tanto Name como Number deben ser propiedades y públicas.
Me da igual si está documentado en algún lado o no, pero me ha costado sudores darme cuenta. El objeto que se va a enlazar en la colección puede ser una clase o una estructura, pero debe ser pública sí o sí.
Ya os imagináis por qué estoy poniendo esta entrada, ¿no? 😛

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *