2016-01-14 3 views
0

Я искал в Интернете совсем немного и немного подошел. Как передать экземпляр объекта класса во второе всплывающее окно и вернуть изменения, только если пользователь нажимает кнопку ОК.Передача объекта класса во второе окно wpf

Например, у вас есть список людей, и когда вы дважды щелкните человека в списке, появится окно редактирования. В окне редактирования будет текстовое поле, отображающее имя человека, где пользователи могут его изменить. Это изменение будет возвращено только в основную модель представления, если пользователь нажимает кнопку «ОК». В противном случае изменения будут отклонены. В идеале это окно редактирования будет модальным.

Как это сделать?

+0

Когда вы создаете экземпляр нового окна, просто передайте его через конструктор. Затем фиксируйте изменения только при нажатии кнопки ok. – ProgrammingDude

+0

звучит легко, но я не уверен, как это сделать. – JokerMartini

ответ

0

Предположим, у вас есть объект человека, который вы хотите изменить под названием Joe so: public Person Joe = new Person(); Когда вы создаете свое новое окно, просто скажите NewWindow window = new NewWindow(Joe);. Затем в NewWindow Конструктора пусть принимает человеку объект, как так

Person aPerson; 
NewWindow(Person inPerson) 
{ 
    aPerson = inPerson 
} 

Теперь, когда пользователь нажимает на кнопку сохранить изменения какой бы то ни поля aPerson, что нужно изменить. Вы можете использовать что-то вроде события, чтобы отправить его обратно в исходное представление. Поместил бы это в комментарий, но блоки кода упрощают чтение.

Смежные вопросы