少し検索しましたが、見つけた情報が必要なものではありません。だから私はあなた方全員に尋ねることにしました-それは初心者の質問だと確信していますが、私は本当にそれを理解していません。始めましょう:グループ化された監視可能なコレクションであるデータソースがあります。現在、アイテム数が異なる2つのグループがあります。2つのグループとアイテムは同じ共通ベースに属しています。
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;
}
これはモデルのコンストラクターです。ViewModelに入力します。次に、コマンドを使用してItemClickをViewModelにバインドします。私はこれが好きです(ほんの短い部分):
<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>
しかし今問題。「BindingUniqueId」では、DataContextが私のViewModelであると言っているので、モデルのプロパティに接続できません。Page.DataContextを見て、XAMLtuにViewModelをDataContextとして使用するように指示しました。これは正しかったと思います。しかし、どうすればModel-propertiesにアクセスできますか?私はこのようにしようとしました(私のモデルをDataModelとして定義しました):
<WinRtBehaviors:Interaction.Behaviors>
<Win8nl_Behavior:EventToCommandBehavior Event="ItemClick" Command="ItemClickCommand" CommandParameter="{Binding DataModel:SampleDataCommon.UniqueId}"/>
</WinRtBehaviors:Interaction.Behaviors>
しかし、前もって推測したように、それは機能しませんでした-パラメータとして私はnullを取得します。
投稿の冒頭で言ったように、私は助けてくれてありがたいです:私は本当にそれを理解していません...