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;

ただし、2 番目の値が必要な場合は、その値を指定する必要がありますSubItem

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