具有gridview wpf的多行和单行选择列表视图

时间:2016-11-08 11:18:01

标签: c# wpf xaml listview gridview

我有关于wpf和ListView的问题。我在Windows.xaml中有这个程序代码

 <Grid>
    <ListView Margin="10" Name="lvUsers">
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Names" Width="140" DisplayMemberBinding="{Binding Name}" />
                <GridViewColumn Header="Telefon" Width="60" DisplayMemberBinding="{Binding Age}" />
                <GridViewColumn Header="Adress" Width="180" DisplayMemberBinding="{Binding Mail}" />
            </GridView>
        </ListView.View>
    </ListView>

在我的Windows.xaml.cs中,我有这段代码

public partial class ListViewGridViewSample : Window
{
    public ListViewGridViewSample()
    {
        InitializeComponent();
        List<User> items = new List<User>();
        items.Add(new User() { Name = "molo", Telefon= 0909090, Adress= "Street" });
        items.Add(new User() { Name = "moloi", Telefon="99999", Adress= "street2" });
    }
}

我的问题是,当我执行这个程序代码时,我得到一个带有ListView的窗口。现在我想在一行或多行进行选择。也许我想选择第二行,这将是User moloi ,选择此行后我想传递给一个消息框,例如。我该怎么处理?

有人可以给我一个简单的例子吗

谢谢大家

1 个答案:

答案 0 :(得分:0)

ListView有一个名为SelectionMode="Extended"的属性。这将允许您设置所需的选择模式。要进行选择行为,您可以使用SelectionChanged上也可用的ListView事件。这两件事可以帮助你实现上述所有目标。

<ListView Name="lvUsers"
          ItemsSource="{Binding}"
          Margin="10"
          SelectionMode="Extended"
          SelectionChanged="lvUsers_SelectionChanged">
  <ListView.View>

该事件背后的代码:

private void lvUsers_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    //e.AddedItems - these are the items that have currently been selected
}