删除GridView中单个项目的项目单击事件处理程序

本文关键字:项目 单击 事件处理 程序 删除 单个 GridView | 更新日期: 2023-09-27 18:05:57

在我的Windows Store应用程序中,我使用GridViewItemClick事件处理程序:

<GridView Grid.Column="0" Grid.Row="1"
  SelectionMode="None"
  IsItemClickEnabled="True"
  ItemClick="ClickOnItem">
</GridView>

项目与ItemsSource绑定在GridView上。是否有可能删除已绑定到GridView的单个项目的单击事件?

删除GridView中单个项目的项目单击事件处理程序

我不确定这是否适合您的场景,但这样做的一种方法是忽略基于项目的单击事件:

void ClickOnItem(object sender, ItemClickEventArgs e)
{
    var item = (SampleDataItem)e.ClickedItem;
    // ignore one specific item - here we use UniqueId, but it could be
    // any attribute...
    if (string.Compare(item.UniqueId, "Group-1-Item-1") == 0)
        return;
    // normal processing here...
    ...
 }

更新 -要以编程方式添加单击事件,您必须命名您的网格(x:Name行):

<GridView Grid.Column="0" Grid.Row="1"
    x:Name="myGridView"
    SelectionMode="None"
    IsItemClickEnabled="True"
    ItemClick="ClickOnItem">
</GridView>

,然后在后面的代码中,在页面的构造函数中添加处理程序:

public PageConstructor()
{
    this.InitializeComponent();
    myGridView.ItemClick += ClickOnItem;
}