代码之家  ›  专栏  ›  技术社区  ›  Benny Code

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

  •  0
  • Benny Code  · 技术社区  · 13 年前

    在我的Windows应用商店应用程序中,我使用 GridView 带有 ItemClick 事件处理程序:

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

    项目绑定到 网格视图 具有 ItemsSource 。是否有可能删除已绑定到GridView的单个项目的单击事件?

    1 回复  |  直到 13 年前
        1
  •  1
  •   chue x    13 年前

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

    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;
    }
    
    推荐文章