我有一個GridView
像下面UWP:如何獲得RightTapped GridView的項目
<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>
我有一個ItemClick
處理程序,我可以得到的點擊symbolItem
成功
現在,我想爲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答案模型來寫我的右手拍了拍上面的處理程序,但它不工作。當我右鍵單擊gridview項目時,會觸發NullReferenceException。
謝謝,'var student =(e.OriginalSource as FrameworkElement)?. DataContext as Student;'適合我。你說在我的情況下,OriginalSource是'ListViewItemPresenter'。爲什麼它不是'GridViewItemPresenter'? –