【问题标题】:multiple and single row selection listview with a gridview wpf带有gridview wpf的多行和单行选择listview
【发布时间】:2016-11-08 11:18:01
【问题描述】:

我有一个关于 wpf 和 ListViews 的问题。我的 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 的窗口。现在我想在单行或多行中进行选择。也许我想选择第二行,这将是用户 moloi 并且在选择这一行之后,我想传递给一个消息框。我该如何处理?

谁能给我一个简单的例子吗

谢谢大家

【问题讨论】:

  • 在你得到一个带有ListView的窗口之后,ListView 是否填充了数据?因为我没有看到您在代码中的任何位置设置了ItemsSource
  • 是的,在代码的末尾 lvUsers.ItemsSource = items;
  • 好的。那么到目前为止,您尝试过什么来实现您想要的?因为正如目前所写的那样,可能的答案太多了,或者对于这种格式来说,好的答案太长了。请添加详细信息以缩小答案范围或隔离可以在几段中回答的问题。
  • 执行我的程序后,我只得到一个包含 3 行的列表视图。我想要的是选择其中一个行并传递给一个消息框,或者在选择列表框的一行后打开一个文本框

标签: c# wpf xaml listview gridview


【解决方案1】:

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

<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
}

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 2020-08-27
    相关资源
    最近更新 更多