获取所选行的选定第一列值

时间:2012-07-09 08:07:17

标签: c# wpf listview selecteditem

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

 <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());

现在我想只检索第一列。 此致

2 个答案:

答案 0 :(得分: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();
}

答案 1 :(得分:1)

以下是listView

示例

enter image description here

如果你想获得First Value。这样做:

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

但如果您想要第二个值,则需要指定其SubItem

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