Je suis en train de marcher à travers Windows Store Sample Application client XAML Twitter 1, pour obtenir les mêmes fonctionnalités dans ma propre application. Mais je ne peux pas obtenir de travail de liaison dans 1 à 1 page exemple.Liaison de modèle XAML dans Windows 8
Ceci est mon grille d'affichage des amis:
<GridView x:Name="FriendsGrid"
Grid.Row="2"
Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Margin="10,10,0,0"
ItemsSource="{Binding Friends}"
ItemTemplate="{StaticResource FriendItemTemplate}"
Grid.ColumnSpan="2">
<GridView.DataContext>
<Model:FriendsViewModel/>
</GridView.DataContext>
Modèle pour la liaison:
<Page.Resources>
<DataTemplate x:Key="FriendItemTemplate">
<Grid Height="200" Width="300">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image HorizontalAlignment="Left"
Height="80" Width="130"
Margin="10,10,0,0"
VerticalAlignment="Top"
Source="{Binding RealPhoto}"
Stretch="UniformToFill"/>
<TextBlock Grid.Column="1"
HorizontalAlignment="Left"
Margin="10,10,0,0"
TextWrapping="Wrap"
VerticalAlignment="Top"
Height="80"
Width="130"
Text="{Binding FirstName}"/>
<TextBlock HorizontalAlignment="Left"
Margin="10,10,0,0"
Grid.Row="1"
TextWrapping="Wrap"
Text="{Binding LastName}"
VerticalAlignment="Top"
Width="280" Height="80"
Grid.ColumnSpan="2" />
</Grid>
</DataTemplate>
</Page.Resources>
Dans mon fichier code-behind:
private FriendsViewModel _model;
public MyPage()
{
this.InitializeComponent();
_model = new FriendsViewModel();
FriendsGrid.DataContext = _model;
}
que je ne POPULATE modèle, en application je vois exactement le même nombre d'éléments que j'ai ajouté, mais les éléments sont vides. En utilisant debug je vois, ce modèle n'est pas vide. De même, lorsque je suis codé en dur dans des modèles, ils sont visibles.
Avez-vous implémenté INotifyPropertyChanged? – mydogisbox
FriendsGridViewModel a la propriété ObservableCollection, donc implémente l'événement de modification de propriété. Mais ... vous m'avez aidé à trouver l'erreur: dans mon modèle a oublié d'ajouter des getters et des setters: (( –