Я недавно использовал привязку данных в c #, и хотя способ, которым я это делаю, прост и работает, это не похоже на лучший способ.
Например, у меня есть класс менеджера, т.е. UserManager, который имеет следующий интерфейс:
class UserManager
{
public IList<User> Users { get; ...}
public AddUser(...)
public RemoveUser(...)
}
Таким образом, Adduser
и RemoveUser
должны управлять списком с коллекцией Users
в качестве вывода. Я использую эту коллекцию в привязке, а именно:
listBindingSource.DataSource = userManager.Users;
Затем я манипулирую списком через привязку, т.е.
listBindingSource.Add(new User(...))
Это работает, конечно, но я полностью игнорирую функции UserManager
и AddUser
/ RemoveUser
! Это, конечно, кажется очень неправильным. Как правильно использовать привязку данных?
UserManager
находится внутри библиотеки, поэтому я не хочу помещать туда какие-либо обязательные объекты, так как считаю, что это должно быть графическим интерфейсом. С другой стороны, с привязкой мой графический интерфейс полностью контролировал мою коллекцию.