2012-07-09 50 views
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()); 

現在我想只檢索第一列。如果你想獲得First Value 問候

回答

1

下面是一個示例listView

enter image description here

。像這樣做:

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

,但如果你希望第二個值,則需要指定其SubItem

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

「System.Windows.Controls.ListView」不包含「FocusedItem」 – Antonio 2012-07-09 08:33:21

+0

哦了WPF的定義,我很抱歉我沒有看到這一點。我會更新我的答案。 :) – 2012-07-09 08:39:19

+0

jhon請幫我:) – Antonio 2012-07-09 13:11:30

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