1

次のような XAML のコードがあるとします。

<GridView>
  <GridView.ItemTemplate>
<DataTemplate>
    <Button Content="{Binding test}" Click="ButtonClick" />
</DataTemplate>
</GridView.ItemTemplate>
</GridView>

次に、どのGridViewItemが選択されたかを取得するにはどうすればよいですか? 通常は、ItemClick 機能を GridView 自体に追加することですが、この場合はカスタマイズを行っており、Button から SelectedItem を取得する必要があります。

私は次のようなコードを試しました:

void ButtonClick (object sender, RoutedEventArgs e)
{
   var g = (GridViewItem)((Button)sender).Parent;
}

しかし、それは機能しません (null を返します)。助けてください!

ありがとう!

4

1 に答える 1

1

もちろん!広告コントロールが広告の読み込みに失敗した場合 (マシンがオフラインの場合など) に使用するコードを次に示します。その場合、グリッドビューから削除します。そのためには、広告の親 gridviewitem を見つけて、すべてを削除する必要があります。私はこのようにします:

private void AdControl_ErrorOccurred_1(object sender, Microsoft.Advertising.WinRT.UI.AdErrorEventArgs e)
{
    var _Item = sender as DependencyObject;
    while (!(_Item is GridViewItem))
        _Item = VisualTreeHelper.GetParent(_Item);
    HubGrid.Items.Remove(_Item);
}
于 2012-12-07T00:53:57.460 に答える