WPF:在ListView上下文菜单右键单击而不是项目索引后获取我的对象

时间:2015-06-08 21:01:33

标签: wpf listview contextmenu

ListView包含我的对象:

public ObservableCollection<MyObject> objects { get; set; }

这是我的Context menu右键点击事件:

private void MenuItem_Click(object sender, RoutedEventArgs e)
{
    if (myListView.SelectedIndex == -1)
        return;
    int index = myListView.SelectedIndex;
}

因此,我可以在indexobject的{​​{1}}基础上找到我的collection,而不是取消index这个object吗?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您只想获取已选择的对象

您是否尝试过使用列表视图的.SelectedItem属性?

private void MenuItem_Click(object sender, RoutedEventArgs e)
{
    if (myListView.SelectedIndex == -1)
        return;
    var obj = myListView.SelectedItem as MyObject;
}

虽然我不确定为什么你不能只通过集合中的索引来查找对象。尽管上述方法具有更清晰的意图,但这两种方法都是有效的。