对不起,我的英语不好。这就是我的问题:
我的Listview,我想你看到我的问题了:

下面是我的代码:
<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#代码:
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。
谢谢你的帮助!
发布于 2018-07-31 14:31:36
我自己并不经常使用WPF,但我大胆地猜测了一下什么可以解决你的问题:
替换此行:
DataContext = items;使用这一行:
DataContext = this;您希望将DataContext绑定到一个类,而不是绑定到一个特定的集合(我可能会按照MainWindowViewModel的思路创建一个单独的类,但一次只做一件事)。
然后在ListView的第一个标记中:
<ListView ItemsSource="{Binding Name}" SelectionChanged="lvUsers_SelectionChanged" Margin="10" Name="lvUsers">将其替换为以下行:
<ListView ItemsSource="{Binding items}" SelectionChanged="lvUsers_SelectionChanged" Margin="10" Name="lvUsers">您希望ItemsSource成为集合的名称,而不是您实际想要使用的集合名称。
这意味着您可以稍后在ListView中使用set绑定来访问集合属性:
{Binding Name} , {Binding Age} , {Binding Mail}https://stackoverflow.com/questions/51606700
复制相似问题