簡體   English   中英

如何在C#WPF中從Listview獲取所有選中的選定項目

[英]How to get all checked selected items from Listview in c# WPF

我想獲取復選框已選中的列表視圖中的所有項目。

lvw學生

      <ListView  x:Name="lvwStudent"  IsSynchronizedWithCurrentItem="True"  SelectionMode="Multiple" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
        <ListView.View>
            <GridView>
                <GridViewColumn  Width="50">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <CheckBox x:Name="cboxSelected" Content ="{Binding ID}"   Width="20" Height="20" BorderBrush="#FF0C6161" HorizontalAlignment="Center" HorizontalContentAlignment="Center" Tag="{Binding ID}" IsChecked="{Binding IsChecked}" Checked="cboxSelected_Checked_1" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Header="NO." Width="53">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate >
                            <Label Content ="{Binding ID}" FontSize="14" HorizontalContentAlignment="Center"></Label>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Header="STUDENT NAME" Width="auto">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Label Content ="{Binding STUDENT_NAME}" FontSize="14" HorizontalContentAlignment="Center"></Label>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>

當我單擊選擇按鈕時,我想獲取所有選定的ID並存儲在數組中。

    private void btnSelect_Click(object sender, RoutedEventArgs e)
    {
       int[] selectedId;

        if(lvwMachine.SelectedItems.Count > 0)
        {

            foreach(..... )
            {
              //add all selected id in array selectedId


            }
         }

List<Student>StudentList = new Students().getStudent();
List<ListViewItem> ITEM = new List<ListViewItem>(); 

foreach (var s in StudentList) 
{ 
       ListViewItem OneItem = new ListViewItem(); 
       OneItem.Content = new Student() 
           {ID = s.ID, STUDENT_NAME = s.name}; 

       ITEM.Add(OneItem); 
       lvwMachine.ItemsSource = ITEM; 
} 

您可以嘗試以下方法:

lvwMachine.ItemsSource.Where(element => element.IsChecked).ToArray();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM