📜  在列表视图 WPF 中选择多个项目 - C# (1)

📅  最后修改于: 2023-12-03 15:23:30.843000             🧑  作者: Mango

在列表视图 WPF 中选择多个项目 - C#

在 WPF 应用程序中,列表视图是一种方便的控件,可以帮助用户轻松地查看、筛选和操纵列表数据。但在某些情况下,用户需要选择多个项目,以执行操作或执行更高级别的筛选器。本文将介绍如何建立一个多选列表视图,使用户可以轻松地选择多个项目。

建立列表视图

首先,让我们建立一个简单的列表视图。以下是必要的 XAML 标记,用于显示包含两个列的列表视图。第一列显示名称,第二列显示值。

<ListView x:Name="lstData">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Path=Name}" />
            <GridViewColumn Header="Value" DisplayMemberBinding="{Binding Path=Value}" />
        </GridView>
    </ListView.View>
</ListView>
允许多选

默认情况下,列表视图只允许用户选择一个项目。如果要允许多选,需要将 SelectionMode 属性设置为 Multiple

<ListView x:Name="lstData" SelectionMode="Multiple">
    <!--...-->
</ListView>
处理选择

现在,用户可以通过单击列表视图中的项目来选择多个项目。要访问所选项目,可以使用 SelectedItems 属性。此属性返回一个对象集合,这些对象是 ListViewItem 或您自己的数据对象(如果您将 ListViewItemDataContext 属性绑定到自定义数据对象)。下面是如何处理所选项目的例子。

private void Button_Click(object sender, RoutedEventArgs e)
{
    // 遍历所选项目并在控制台上输出它们
    foreach (object obj in lstData.SelectedItems)
    {
        if (obj is ListViewItem)
        {
            ListViewItem item = (ListViewItem)obj;
            Console.WriteLine(item.DataContext.ToString());
        }
        else
        {
            Console.WriteLine(obj.ToString());
        }
    }
}
结论

现在,您可以在 WPF 列表视图中选择多个项目!此功能对于需要用户执行操作或执行更高级别的筛选器的应用程序非常有用。记得将 SelectionMode 属性设置为 Multiple,以允许多选,并使用 SelectedItems 属性来访问所选项目。