首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在WPF中将项目绑定到Listview

如何在WPF中将项目绑定到Listview
EN

Stack Overflow用户
提问于 2018-07-31 14:27:18
回答 3查看 302关注 0票数 1

对不起,我的英语不好。这就是我的问题:

我的Listview,我想你看到我的问题了:

下面是我的代码:

代码语言:javascript
运行
复制
<ListView ItemsSource="{Binding Name}" SelectionChanged="lvUsers_SelectionChanged" Margin="10" Name="lvUsers">
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Name" Width="120"/>
                <GridViewColumn Header="Age" Width="50"/>
                <GridViewColumn Header="Mail" Width="150"/>
            </GridView>
        </ListView.View>
    </ListView>

以下是c#代码:

代码语言:javascript
运行
复制
public partial class MainWindow : Window
{
    List<User> items = new List<User>();
    public MainWindow()
    {
        InitializeComponent();
        items.Add(new User() { Name = "John Doe", Age = 42, Mail = "john@doe-family.com" });
        items.Add(new User() { Name = "Jane Doe", Age = 39, Mail = "jane@doe-family.com" });
        items.Add(new User() { Name = "Sammy Doe", Age = 7, Mail = "sammy.doe@gmail.com" });
        DataContext = items;
    }
}

public class User
{
    public string Name { get; set; }

    public int Age { get; set; }

    public string Mail { get; set; }
}

我想将List-Items绑定到我的listview。

谢谢你的帮助!

EN

Stack Overflow用户

发布于 2018-07-31 14:31:36

我自己并不经常使用WPF,但我大胆地猜测了一下什么可以解决你的问题:

替换此行:

代码语言:javascript
运行
复制
DataContext = items;

使用这一行:

代码语言:javascript
运行
复制
DataContext = this;

您希望将DataContext绑定到一个类,而不是绑定到一个特定的集合(我可能会按照MainWindowViewModel的思路创建一个单独的类,但一次只做一件事)。

然后在ListView的第一个标记中:

代码语言:javascript
运行
复制
<ListView ItemsSource="{Binding Name}" SelectionChanged="lvUsers_SelectionChanged" Margin="10" Name="lvUsers">

将其替换为以下行:

代码语言:javascript
运行
复制
<ListView ItemsSource="{Binding items}" SelectionChanged="lvUsers_SelectionChanged" Margin="10" Name="lvUsers">

您希望ItemsSource成为集合的名称,而不是您实际想要使用的集合名称。

这意味着您可以稍后在ListView中使用set绑定来访问集合属性:

代码语言:javascript
运行
复制
{Binding Name} , {Binding Age} , {Binding Mail}
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51606700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档