У меня есть приложение Silverlight 4 для простого списка 'TODO'. Проблема, с которой я столкнулся, заключается в том, что привязка данных связывает отношения с моим объектом TODO
, что заставляет контекст данных RIA добавить его в список DataContext.TODOs
, прежде чем я захочу его там.
Я хочу относиться к объекту как к новому и отделенному, пока не буду явно готов добавить его в текстовый текст данных.
Вот как это работает:
У меня есть TODO
сущность, связанная с Status
(отношение сущностей служб RIA).
Я создаю новый объект TODO()
, который передается во всплывающее окно ChildWindow
. Обратите внимание, что я не добавляю эту новую сущность в мой текст данных.
new CreateTODOPopup(new TODO()).Show();
В DataForm в моем ChildWindow у меня есть поле со списком для Status
, которое привязано к DataContext.Statuses
.
Проблема в том, что действие по выбору Status
из выпадающего списка фактически связывает сущность с контекстом для меня - в итоге она получает состояние EntityState.New
и фактически добавляется в коллекцию DataContext.TODOs
.
Это было бы хорошо, за исключением того, что теперь оно появляется в главном списке TODO в главном фрейме. Я не хочу этого, потому что это еще не было зафиксировано ChildWindow.
Как я могу решить это? Либо препятствуя присоединению объекта, либо скрывая его от каких-либо элементов управления, к которым он привязан, до тех пор, пока он не будет добавлен.