假设我在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)。请帮忙!
谢谢!
答案 0 :(得分:1)
当然!以下是广告控件无法加载广告时使用的代码(例如机器离线时)。在那种情况下,我从gridview中删除它。要做到这一点,我必须找到广告的父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);
}