В хранилище тензорного потока есть проблема, решение которой см. В , в этой проблеме
.
Я не знаю точно, как Вы показываете свои представления, таким образом, немного трудно дать Вам определенный совет здесь. Это - то, как я сделал этот вид вещи прежде:
То, что мы сделали, было, сделали, чтобы CustomerSearchViewPresenter запустил событие как OpenCustomer (customerId). (Который предполагает, что Ваше поисковое представление только имеет несколько частей Данных о клиентах, и customerId был бы одним из них. Если Вашему поисковому представлению перечислили все Клиентские объекты затем, Вы могли бы назвать OpenCustomer (клиент). Но я не создал бы поисковое представление и позволил бы ему заполнять со всеми объектами... Мы сохраняем наш легкий вес представлений поиска с точки зрения данных.)
Где-то в другом месте в приложении обработчик событий, который прислушивается к событию OpenCustomer() и выполняет задачу создания нового предъявителя CustomerEditView w/(и я собираюсь подчиниться своему контейнеру МОК, делают этот материал для меня, таким образом, я не должен использовать "новое" ключевое слово нигде). После того как представление создается, мы можем провести идентификатор (или клиентский объект) к новому CustomerEditView и затем показать его.
Этим классом, который ответственен за список события OpenCustomer() и выполняет создание CustomerEditView, обычно является своего рода Класс контроллера в нашем приложении.
Для дальнейшего упрощения этой ситуации я сделал это иначе: Я создаю обоих CustomerSearchView (и предъявитель) и CustomerEditView (и предъявитель), когда приложение или модуль запускают. Когда CustomerSearchView должен открыть Customer для редактирования, CustomerEditView становится респондентом к событию OpenCustomer и загружает данные в себя и знает, как показать себя в любом контейнере, который это, как предполагается, делает.
Таким образом, существует несколько способов сделать это.
Как насчет:
//In CustomerSearchPresenter
var presenter = new CustomerEditPresenter();
var customerEditView = new CustomerEditView(presenter);
presenter.SetCustomer(customer);
//In CustomerEditPresenter
public void SetCustomer(customer)
{
View.Name = customer.Name;
View.Id = customer.Id;
...
}
В думают, что Ваше клиентское представление поиска должно просто делегировать его предъявителю, у Вас должно быть действие, выполняются.