我在这种模式下有一个包含多列声明的列表视图:
<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());
现在我想只检索第一列。 此致
答案 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
如果你想获得First Value
。这样做:
string item = lstFilesInFolder.Items[lstFilesInFolder.FocusedItem.Index].Text;
但如果您想要第二个值,则需要指定其SubItem
string item =
lstFilesInFolder.Items[lstFilesInFolder.FocusedItem.Index].SubItems[1].Text;