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

时间:2013-03-27 00:00:01

标签: c# gridview event-handling windows-store-apps itemssource

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

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

这些项目绑定到GridView ItemsSource。是否有可能删除已绑定到GridView的单个项目的click事件?

1 个答案:

答案 0 :(得分:1)

我不确定这对你的场景有多适合,但是一种方法是根据项目忽略点击事件:

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;
}