【问题标题】:How to get an index of specific element ina ListView?如何获取 ListView 中特定元素的索引?
【发布时间】:2015-06-11 12:37:27
【问题描述】:

我有一个ListView 的图像和复选框交替元素(图像、复选框、图像等)。

当我使用Thumbnails.SelectedIndex 时,它返回元素位置,但我希望元素位置仅用于图像并且忽略复选框。

如何做到这一点?

private void Thumbnails_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    int item = Thumbnails.SelectedIndex + 1; //get original index for each element in ListView
    MessageBox.Show(Convert.ToString(item));
}

【问题讨论】:

  • 嗨,欢迎来到堆栈!请查看此页面以了解如何有效地使用本网站stackoverflow.com/help
  • 展示一下你的东西的结构,我可以帮助我们理解你的问题。
  • @user1394252 向我们展示一些您的 XAML。

标签: c# wpf xaml


【解决方案1】:

你能做这样的事情吗?在我这边,我可以看到它仅显示图像的索引。如果您遇到问题,请告诉我。

    private void Thumbnails_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {

        int item = Thumbnails.SelectedIndex + 1; //get original index for each element in ListView

        object content = Thumbnails.SelectedItem;
        if (content is Image)
        {
            MessageBox.Show(Convert.ToString(item));
        }



    }

【讨论】:

  • 是的,这行得通。但是,如果可能的话,我需要完全忽略复选框元素。现在,对于图片,我得到奇数 1,3,5,7....但我希望那些奇数位置被视为 1,2,3,4....这也可能
  • 你的意思是你想要一个图像的整数序列是吗?根据我从您的问题中得到的信息,基本上如果您的列表视图中有 4 张图片,您希望输出始终为 1 2 3 4(假设您只有备用图片和复选框)
  • 是的,我就是这个意思。
  • 这是直截了当的。当你第一次检测到图像时,你知道图像的起始索引,你可以全局存储它,对于每个后续图像,只需增加这个变量并显示它而不是 item
  • 哦,是的,但我实际上需要显示的项目。这是一个很长的故事,但是我需要例如将第 3 项视为第 2 项,然后将第 5 项视为第 3 项,依此类推.....通常,我需要一些将奇数项映射到后续项的东西项目。
猜你喜欢
  • 1970-01-01
  • 2015-04-05
  • 2015-09-04
  • 2013-05-24
  • 2018-05-02
  • 1970-01-01
  • 2019-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多