В моем классе приложений у меня есть коллекция объектов, например:
(Коллекция находится в классе App, потому что мне нужно иметь доступ к ней во всех окнах приложения и т. д.)
public partial class App : Application
{
public ObservableCollection<Person> Persons { get; set; }
public App()
{
Persons = new ObservableCollection<Person>();
Persons.Add(new Person() { Name = "Tim", Age = 20 });
Persons.Add(new Person() { Name = "Sarah", Age = 30 });
}
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
В главном окне приложения имеется привязка ComboBox
к коллекции персон:
<ComboBox ItemsSource="{Binding Source={x:Static Application.Current}, Path=Persons}" DisplayMemberPath="Name"/>
Теперь я хочу создать диалоговое окно, в котором пользователь может добавлять / удалять / редактировать людей с хорошо известным поведением кнопки OK / Отмена. Может ли это быть легко? Одна важная вещь заключается в том, что на элементы в ComboBox
не должны влиять изменения, которые пользователь вносит до нажатия OK.
Заранее спасибо!
Редактировать: я думаю, я должен указать, что я не хочу редактировать конкретного человека в диалоге, но весь список людей.