を取得する方法を私はItemClick
ハンドラを持っていると私は今、成功しUWPは:RightTapped GridViewの項目に
symbolItem
をクリック得ることができます
<GridView
SelectionMode="None"
IsItemClickEnabled="True"
IsRightTapEnabled="True"
ItemsSource="{x:Bind SymbolItems}"
ItemClick="SymbolGridView_ItemClick"
RightTapped="SymbolGridView_RightTapped">
<GridView.ItemTemplate>
<DataTemplate x:DataType="data:SoundSymbolItem">
<local:SymbolControl/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
の下に、私がしたい
GridView
のように持っています
RightTapped
イベントでも同様のことを行いますが、適切なタップ項目は取得できません。
private void SymbolGridView_RightTapped(object sender, RightTappedRoutedEventArgs e)
{
SymbolItem symbolItem = (sender as GridViewItem).DataContext as SymbolItem;
MyMediaElement.Source = new Uri(this.BaseUri, symbolItem.ExampleAudio);
}
私は上記の私の右タップハンドラを記述するためにこの質問Get RightTapped GridViewItemで答えをモデル化するが、それは働いていません。グリッドビュー項目を右クリックすると、NullReferenceExceptionがトリガされます。
ありがとうございます、 'var student =(e.OriginalSource FrameworkElement)?StudentとしてのDataContext;は私のために働きます。私の場合、OriginalSourceは 'ListViewItemPresenter'でした。なぜそれが 'GridViewItemPresenter'ではないのですか? –