J'ai cherché un peu, mais l'information que j'ai trouvée n'est pas ce dont j'ai besoin. J'ai donc décidé de vous demander à tous - je suis sûr que c'est une question de débutant mais je ne comprends vraiment pas. Commençons par: J'ai une source de données qui est une collection observable groupée. En ce moment j'ai 2 groupes avec un nombre différent d'articles. Les deux groupes et les éléments appartiennent à la même base commune:Lier une collection groupée dans Xaml
public DataCommon(String uniqueId, String title, String subtitle, String imagePath, String description)
{
this._uniqueId = uniqueId;
this._title = title;
this._subtitle = subtitle;
this._description = description;
this._imagePath = imagePath;
}
Ceci est le constructeur du modèle. Dans le ViewModel je le remplis. Maintenant, je voudrais lier le ItemClick avec une commande à mon ViewModel. Je fais comme ceci (seulement une partie courte):
<GridView
x:Name="itemGridView"
AutomationProperties.AutomationId="ItemGridView"
AutomationProperties.Name="Grouped Items"
Grid.RowSpan="2"
Padding="116,137,40,46"
ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
ItemTemplate="{StaticResource Standard250x250ItemTemplate}"
SelectionMode="None"
IsSwipeEnabled="false"
IsItemClickEnabled="True"
>
<WinRtBehaviors:Interaction.Behaviors>
<Win8nl_Behavior:EventToCommandBehavior Event="ItemClick" Command="ItemClickCommand" CommandParameter="{Binding UniqueId}"/>
</WinRtBehaviors:Interaction.Behaviors>
Mais maintenant le problème. À la "Binding UniqueId", il est dit que DataContext est mon ViewModel, donc je ne peux pas le connecter aux propriétés du modèle. J'ai regardé le Page.DataContext, j'ai dit à XAML d'utiliser mon ViewModel en tant que DataContext. Je suppose que c'était correct. Mais comment puis-je accéder aux propriétés du modèle? J'ai essayé de le faire comme ça (défini mon modèle comme DataModel):
<WinRtBehaviors:Interaction.Behaviors>
<Win8nl_Behavior:EventToCommandBehavior Event="ItemClick" Command="ItemClickCommand" CommandParameter="{Binding DataModel:SampleDataCommon.UniqueId}"/>
</WinRtBehaviors:Interaction.Behaviors>
mais comme je devinais à l'avance qu'il ne fonctionne pas - comme paramètre i obtenir null.
Je serais reconnaissant pour toute aide, parce que je l'ai dit au début du poste: je ne comprends pas ...