Образцовый предъявитель представления, как передать объекты между представлением?

В хранилище тензорного потока есть проблема, решение которой см. В , в этой проблеме

.

8
задан Marijn 17 August 2011 в 12:12
поделиться

2 ответа

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

То, что мы сделали, было, сделали, чтобы CustomerSearchViewPresenter запустил событие как OpenCustomer (customerId). (Который предполагает, что Ваше поисковое представление только имеет несколько частей Данных о клиентах, и customerId был бы одним из них. Если Вашему поисковому представлению перечислили все Клиентские объекты затем, Вы могли бы назвать OpenCustomer (клиент). Но я не создал бы поисковое представление и позволил бы ему заполнять со всеми объектами... Мы сохраняем наш легкий вес представлений поиска с точки зрения данных.)

Где-то в другом месте в приложении обработчик событий, который прислушивается к событию OpenCustomer() и выполняет задачу создания нового предъявителя CustomerEditView w/(и я собираюсь подчиниться своему контейнеру МОК, делают этот материал для меня, таким образом, я не должен использовать "новое" ключевое слово нигде). После того как представление создается, мы можем провести идентификатор (или клиентский объект) к новому CustomerEditView и затем показать его.

Этим классом, который ответственен за список события OpenCustomer() и выполняет создание CustomerEditView, обычно является своего рода Класс контроллера в нашем приложении.

Для дальнейшего упрощения этой ситуации я сделал это иначе: Я создаю обоих CustomerSearchView (и предъявитель) и CustomerEditView (и предъявитель), когда приложение или модуль запускают. Когда CustomerSearchView должен открыть Customer для редактирования, CustomerEditView становится респондентом к событию OpenCustomer и загружает данные в себя и знает, как показать себя в любом контейнере, который это, как предполагается, делает.

Таким образом, существует несколько способов сделать это.

4
ответ дан 5 December 2019 в 23:17
поделиться

Как насчет:

//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;
    ...
}

В думают, что Ваше клиентское представление поиска должно просто делегировать его предъявителю, у Вас должно быть действие, выполняются.

1
ответ дан 5 December 2019 в 23:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: