更新时间:2022-10-21 09:19:01
如果您的 getUsers
方法返回列表,数组或类似方法,则可以将ListView的ItemsSource设置为 userList
。例如:
ServiceReference1.ImojWCFServiceClient client = new ServiceReference1.ImojWCFServiceClient();
listView1.Items.Clear();
var userList = client.getUsers();
listView1.ItemsSource = userList;
如果不起作用,在设置ItemsSource
$之前将userList转换为ObservableCollection b您的Xaml可能看起来像这样...
< ListView>
< ListView.View>
< GridView>
< GridViewColumn Header =IDDisplayMemberBinding ={Binding UserID}/>
< GridViewColumn Header =NameDisplayMemberBinding ={Binding Name}/>
< GridViewColumn Header =Last NameDisplayMemberBinding ={Binding LastName}/>
< / GridView>
< /ListView.View>
< / ListView>
I'm trying to display data from my Entitity Framework database to my ListView in my WPF C# application.
I'm using WCF app as my host, where I keep my methods for displaying data, adding data, etc., and I have WPF app as my client, where I use the code to display data from database to my ListView.
This is my code
ServiceReference1.ImojWCFServiceClient client = new ServiceReference1.ImojWCFServiceClient();
listView1.Items.Clear();
var userList = client.getUsers();
foreach (var user in userList)
{
ListViewItem listOfUsers;
string[] list = new string[3];
list[0] = user.UserID.ToString();
list[1] = user.Name;
list[2] = user.LastName;
listOfUsers = new ListViewItem(list);
listView1.Items.Add(listOfUsers);
}
This is the error that I get
Can somebody help me fix this code?
Any help is appreciated!
If your getUsers
method returns a list, array, or similar, you could simply set the ItemsSource of the ListView to userList
. For example:
ServiceReference1.ImojWCFServiceClient client = new ServiceReference1.ImojWCFServiceClient();
listView1.Items.Clear();
var userList = client.getUsers();
listView1.ItemsSource = userList;
If that doesn't work, convert userList to an ObservableCollection before setting the ItemsSource
Your Xaml might look like this...
<ListView>
<ListView.View>
<GridView>
<GridViewColumn Header="ID" DisplayMemberBinding="{Binding UserID}"/>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Header="Last Name" DisplayMemberBinding="{Binding LastName}"/>
</GridView>
</ListView.View>
</ListView>