如何编辑列表用户?元素,并在WPF列表中显示更改
本文关键字:列表 并在 WPF 显示 元素 何编辑 编辑 用户 | 更新日期: 2023-09-27 17:49:23
是否有一种方法在c#中使用WPF编辑当前列表?例如,如果我用用户的个人信息创建了一个表单,然后我想编辑其中一个字段,有没有办法做到这一点?如果有,你怎么做?
到目前为止,我有一个名为users的类,它有不同的变量,然后它把这些变量变成一个对象列表。
public class Users
{
public string sFullName {get; set;}
public string sPhoneNumber {get; set;}
public int iAge {get; set;}
}
public class userObject
{
public static List<Users> lstUsers {get; set;}
static UserObject()
{
lstUsers = new List<Users>();
}
}
public static void AddNewUser(string fullName, string phoneNumber, int age)
{
lstUsers.Add(new Users{sFullName = fullName, sPhoneNumber = phoneNumber, iAge = age});
}
有没有办法用下面的代码改变上面添加的信息?
public static void EditCurrentUser(int age)
{
//sudo code
lstUser.Edit(iAge = age where sFullName = "bob"); // change iAge to the current or most resent list?
}
您可以使用LINQ:
进行就地编辑。lstUsers.Where(u => u.sFullName == "bob").Select(u => u.iAge = age).ToList();
或
可以用传统方法做:
foreach (Users user in lstUsers)
{
if (user.sFullName == "bob")
{
user.iAge = age;
}
}
看看Linq
public static void EditCurrentUser(int age)
{
var user = lstUser.FirstOrDefault(u => u.sFullName == "bob");
if (user != null)
{
user.iAge = age
}
}
假设您有ItemsSource = "{Binding lstUsers}"
和ItemTemplate
,例如TextBox
和Text="{Binding sFullName, Mode = TwoWay}"
。
模式TwoWay
或OneWayToSource
允许更改绑定源