0

在这种模式下,我有一个带有多列声明的列表视图:

 <ListView Grid.Column="1" Height="100" HorizontalAlignment="Left" Margin="12,449,0,0" Name="lstFilesInFolder" VerticalAlignment="Top" Width="453" SelectionChanged="lstFilesInFolder_SelectionChanged" MouseDoubleClick="lstFilesInFolder_MouseDoubleClick" ItemsSource="{Binding}">
        <ListView.Effect>
            <DropShadowEffect BlurRadius="15" Color="Black" Opacity="1"></DropShadowEffect>
        </ListView.Effect>
        <ListView.View>
            <GridView>
                <GridViewColumn DisplayMemberBinding="{Binding Path}" Width="325" Header="File Path" />
                <GridViewColumn  DisplayMemberBinding="{Binding Code}" Width="100" Header="Code" />
            </GridView>
        </ListView.View>
    </ListView>

我在这种模式下以编程方式添加元素:

 lstFilesInFolder.Items.Add(new { Path = listFiles[i] });

它的功能正确。但我想检索列表视图的选定项目的路径?我已阅读更多文章和帖子,但我不知道如何检索元素。请帮我!

消息:

如果我尝试此代码,我会收到所选行的数据:

ItemCollection listitem = lstFilesInFolder.Items;
        List lst = new List();
        MessageBox.Show(listitem.GetItemAt(lstFilesInFolder.SelectedIndex).ToString());

现在我只想检索第一列。问候

4

2 回答 2

2

如果这是你真正想要的,你可以肯定地做到这一点......

for (int conditionVar = 0; conditionVar < listView1.Items.Count; conditionVar++)
{
   String firstValue =  listView1.Items[conditionVar].Text.ToString();
   String secondValue = listView1.Items[conditionVar].SubItems[1].Text.ToString();
}
于 2012-11-25T09:35:28.053 回答
1

这是一个示例listView

在此处输入图像描述

如果你想得到First Value. 像这样做:

string item = lstFilesInFolder.Items[lstFilesInFolder.FocusedItem.Index].Text;

但如果你想要第二个值,你需要指定它SubItem

string item = 
   lstFilesInFolder.Items[lstFilesInFolder.FocusedItem.Index].SubItems[1].Text;
于 2012-07-09T08:18:29.780 回答