«Исключение, выброшенное из C'Tor» - это не слово из четырех букв. Если объект не может быть создан правильно, C'tor должен потерпеть неудачу, потому что вы скорее отказали бы в создании, чем имели бы недопустимый объект.
Обычно я вообще не использую преобразователи в MVVM, за исключением чистых задач пользовательского интерфейса (например, BooleanToVisibilityConverter). IMHO, вам лучше объявить свойство Customer типа CustomerViewModel в своей ContractViewModel, а не использовать ContractToCustomerConverter
В этом разговоре есть комментарий, который согласуется с позицией Кента, не использовать преобразователи вообще, интересно:
ViewModel - это в основном преобразователь значений на стероидах . Требуются "сырые" данные и преобразует его во что-то удобное для презентации, и наоборот. Если вы когда-нибудь обнаруживаете, что привязываете свойство элемента к ViewModel свойство, и вы используете преобразователь значений, остановитесь! Почему бы просто не создать свойство ViewModel, которое предоставляет "отформатированные" данные, а затем отбросить преобразователь значений вообще?
И в этот разговор :
Единственное место, где я вижу применение преобразователи значений в MVVM архитектура кросс-элементная привязки. Если я связываю Видимость панели для IsChecked CheckBox, тогда мне нужно будет использовать BooleanToVisibilityConverter.
Преобразователи редко следует использовать с MVVM. На самом деле я стараюсь их вообще не использовать. Виртуальная машина должна делать все, что нужно представлению для выполнения своей работы. Если для представления требуется Customer
на основе контракта
, на виртуальной машине должно быть свойство Customer
, которое обновляется логикой виртуальной машины всякий раз, когда контракт
изменения.
Преимущество этого шаблона MVVM в том, что я также могу привязать представление к модели представления B, которая заполняет ее другими данными.
Я оспариваю это утверждение. По моему опыту, представления не являются общими для разных типов виртуальных машин, и это не является целью MVVM.
Как упоминалось выше, веб-сайт - хорошее место, но есть и другие хорошие ресурсы:
Есть еще несколько других, и на многие из них есть ссылки с сайта.
Как мне представить вид каждого инструмента для данного датчика? Отображая небольшой график (вспомните спарклайн Эдварда Тафте ), который создается путем преобразования временного ряда в источник изображения с помощью конвертера ( TimeSeriesToSparklineConverter
)
Вот как я думаю MVVM: Модель предоставляет данные моделям просмотра. Модель представления предоставляет представление поведения, данных модели и состояния. Представления выполняют работу по визуальному представлению данных модели и предоставляют интерфейс для поведения, согласованного с состоянием модели представления.
Таким образом, я не верю, что изображения спарклайнов входят в модель (модель - это данные, а не конкретный визуальный элемент). его представление). Я также не верю, что изображения спарклайнов входят в модель представления (что, если мое представление хочет представлять данные по-другому, скажем, в виде строки сетки, просто показывающей min, max, среднее, стандартное отклонение и т. д. ряда?). Таким образом, мне кажется, что представление должно обрабатывать работу по преобразованию данных в желаемое представление.
Итак, если я хочу раскрыть поведение, данные модели и заданное состояние для определенной модели представления в интерфейсе командной строки вместо графического интерфейса WPF я не хочу, чтобы моя модель и моя модель представления содержали изображения. Это неправильно? Должны ли мы иметь SensorCollectionGUIViewModel
и SensorCollectionCommandLineViewModel
? Мне это кажется неправильным: я думаю о модели представления как о абстрактном представлении представления, а не о конкретном и привязанном к определенной технологии, как предполагают эти названия.
Вот где я нахожусь в моем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?
стандартное отклонение и т. д. серии?). Таким образом, мне кажется, что представление должно обрабатывать работу по преобразованию данных в желаемое представление. Итак, если я хочу раскрыть поведение, данные модели и заданное состояние для определенной модели представления в интерфейсе командной строки вместо графического интерфейса WPF я не хочу, чтобы моя модель и моя модель представления содержали изображения. Это неправильно? Должны ли мы иметь SensorCollectionGUIViewModel
и SensorCollectionCommandLineViewModel
? Мне это кажется неправильным: я думаю о модели представления как о абстрактном представлении представления, а не о конкретном и привязанном к определенной технологии, как предполагают эти названия.
Вот где я нахожусь в моем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?
стандартное отклонение и т. д. серии?). Таким образом, мне кажется, что представление должно обрабатывать работу по преобразованию данных в желаемое представление. Итак, если я хочу раскрыть поведение, данные модели и заданное состояние для определенной модели представления в интерфейсе командной строки вместо графического интерфейса WPF я не хочу, чтобы моя модель и моя модель представления содержали изображения. Это неправильно? Должны ли мы иметь SensorCollectionGUIViewModel
и SensorCollectionCommandLineViewModel
? Мне это кажется неправильным: я думаю о модели представления как о абстрактном представлении представления, а не о конкретном и привязанном к определенной технологии, как предполагают эти названия.
Вот где я нахожусь в моем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?
из серии?). Таким образом, мне кажется, что представление должно обрабатывать работу по преобразованию данных в желаемое представление. Итак, если я хочу раскрыть поведение, данные модели и заданное состояние для определенной модели представления в интерфейсе командной строки вместо графического интерфейса WPF я не хочу, чтобы моя модель и моя модель представления содержали изображения. Это неправильно? Должны ли мы иметь SensorCollectionGUIViewModel
и SensorCollectionCommandLineViewModel
? Мне это кажется неправильным: я думаю о модели представления как о абстрактном представлении представления, а не о конкретном и привязанном к определенной технологии, как предполагают эти названия.
Вот где я нахожусь в моем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?
из серии?). Таким образом, мне кажется, что представление должно обрабатывать работу по преобразованию данных в желаемое представление. Итак, если я хочу раскрыть поведение, данные модели и заданное состояние для определенной модели представления в интерфейсе командной строки вместо графического интерфейса WPF я не хочу, чтобы моя модель и моя модель представления содержали изображения. Это неправильно? Должны ли мы иметь SensorCollectionGUIViewModel
и SensorCollectionCommandLineViewModel
? Мне это кажется неправильным: я думаю о модели представления как о абстрактном представлении представления, а не о конкретном и привязанном к определенной технологии, как предполагают эти названия.
Вот где я нахожусь в моем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?
мне кажется, что представление должно обрабатывать работу по преобразованию данных в желаемое представление. Так что, если я хочу раскрыть поведение, данные модели и данное состояние для определенной модели представления в интерфейсе командной строки вместо графический интерфейс WPF, я не хочу, чтобы ни моя модель, ни моя модель представления содержали изображения. Это неправильно? Должны ли мы иметь SensorCollectionGUIViewModel
и SensorCollectionCommandLineViewModel
? Мне это кажется неправильным: я думаю о модели представления как о абстрактном представлении представления, а не о конкретном и привязанном к определенной технологии, как предполагают эти названия.
Вот где я нахожусь в моем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?
мне кажется, что представление должно обрабатывать работу по преобразованию данных в желаемое представление. Так что, если я хочу раскрыть поведение, данные модели и данное состояние для определенной модели представления в интерфейсе командной строки вместо графический интерфейс WPF, я не хочу, чтобы ни моя модель, ни моя модель представления содержали изображения. Это неправильно? Должны ли мы иметь SensorCollectionGUIViewModel
и SensorCollectionCommandLineViewModel
? Мне это кажется неправильным: я думаю о модели представления как о абстрактном представлении представления, а не о конкретном и привязанном к определенной технологии, как предполагают эти названия.
Вот где я нахожусь в моем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?
Итак, если я хочу раскрыть поведение, данные модели и данное состояние для определенной модели представления в интерфейсе командной строки вместо графического интерфейса пользователя WPF, я не хочу, чтобы моя модель или моя модель представления содержали изображения. Это неправильно? Должны ли мы иметь SensorCollectionGUIViewModel
и SensorCollectionCommandLineViewModel
? Мне это кажется неправильным: я думаю о модели представления как о абстрактном представлении представления, а не о конкретном и привязанном к определенной технологии, как предполагают эти названия.
Вот где я нахожусь в моем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?
Итак, если я хочу раскрыть поведение, данные модели и данное состояние для определенной модели представления в интерфейсе командной строки вместо графического интерфейса пользователя WPF, я не хочу, чтобы моя модель или моя модель представления содержали изображения. Это неправильно? Должны ли мы иметь SensorCollectionGUIViewModel
и SensorCollectionCommandLineViewModel
? Мне это кажется неправильным: я думаю о модели представления как о абстрактном представлении представления, а не о конкретном и привязанном к определенной технологии, как предполагают эти названия.
Вот где я нахожусь в моем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?
Я не хочу, чтобы моя модель или моя модель просмотра содержали изображения. Это неправильно? Должны ли мы иметь SensorCollectionGUIViewModel
и SensorCollectionCommandLineViewModel
? Мне это кажется неправильным: я думаю о модели представления как о абстрактном представлении представления, а не о конкретном и привязанном к определенной технологии, как предполагают эти названия.
Вот где я нахожусь в моем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?
Я не хочу, чтобы моя модель или моя модель просмотра содержали изображения. Это неправильно? Должны ли мы иметь SensorCollectionGUIViewModel
и SensorCollectionCommandLineViewModel
? Мне это кажется неправильным: я думаю о модели представления как о абстрактном представлении представления, а не о конкретном и привязанном к определенной технологии, как предполагают эти названия.
Вот где я нахожусь в моем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?
Вот где я нахожусь в своем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?
Вот где я нахожусь в своем постоянно развивающемся понимании MVVM. Что вы здесь делаете для тех, кто говорит не использовать конвертеры?