Эффективное повторное использование представлений - PullRequest
2 голосов
/ 09 июня 2011

У нас есть список элементов в TreeView, где пользователи могут выбрать нужный элемент.Каждый элемент может быть связан с другим элементом.В моем представлении ItemEditor есть кнопка, которая открывает новое окно со связанным элементом в режиме только для чтения.Копия элемента, доступная только для чтения, не имеет функции сохранения и не вносит изменений, внесенных предыдущими пользователями.Тем не менее, он разделяет 90% полей из ~ 50.

Использую ли я удар почти в дублировании всего представления и создаю чистый ReadOnlyItemViewModel?Или, как правило, более приемлемо устанавливать флаги в моей модели представления для отображения, какие редактируемые элементы скрыты?

1 Ответ

1 голос
/ 09 июня 2011

Вы можете отобразить несколько видов на одну модель вида. Это на самом деле поощряется. Вам не нужно создавать ReadOnlyItemViewModel ... просто создайте View поверх ItemViewModel. Если вы пытаетесь автоматически сгенерировать представление, определите, будет ли оно генерировать доступное только для чтения или полностью редактируемое представление, стратегии генератора. Если вам нужен более точный контроль зернистости, рассмотрите возможность добавления атрибутов, которые выражают способ отображения поля в режиме «Только чтение» и «Редактируемый». Только после того, как вы изучите все эти возможности, вы можете рассмотреть возможность разделения виртуальной машины на две части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...