powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / DataTemplate и ViewModel
10 сообщений из 10, страница 1 из 1
DataTemplate и ViewModel
    #40050124
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем несколько классов - допустим автомобиль, мотоцикл, велосипед. И подкласс - допустим, колесо, со своими свойствами.
Окна редактирования хотел сделать так, чтобы в каждое окно редактирования класса вставлять DataTemplate с параметрами для редактирования колеса, чтобы в этом же окне, а не в отдельном.
Получается, что ViewModel у меня будет для каждого класса своя и там будут повторяться вызовы события OnPropertyChanged для свойств которые относятся к колесу. Это же неправильно? Как лучше сделать? Сделать для колеса UserControl и туда логику INotifyPropertyChanged засунуть?
...
Рейтинг: 0 / 0
DataTemplate и ViewModel
    #40050126
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Базовый класс колеса, реализующий INPC + класс сущности (автомобиль/мотоцикл/велосипед), инкапсулирующий наследника базового класса колеса.
...
Рейтинг: 0 / 0
DataTemplate и ViewModel
    #40050128
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

Не понял, можете псевдокод ViewModel набросать?
...
Рейтинг: 0 / 0
DataTemplate и ViewModel
    #40050129
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример неудачный и странный. Как колесо может быть подклассом этих всех классов? Он же их не наследует. Это просто поле в классе автомобиля и т.п.
Причем, поскольку сам класс колеса ничего не знает о своем родителе, то ему абсолютно неважно, есть ли у родителя какие-то события или нет - он от них не зависит.
У колеса должно быть своя модель и свой шаблон. Редактирование колеса происходит в пределах модели. Автомобиль может зависеть от класса колеса, задавать ему какие-то параметры, использовать, но класс колеса никак не должен зависеть от класса автомобиля.
...
Рейтинг: 0 / 0
DataTemplate и ViewModel
    #40050130
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
У колеса есть:
Радиус, тип (радиальный, диагональный), ширина профиля, наличие шипов.
Человек редактирует автомобиль, там есть TextBox для радиуса колеса, ширины профиля и кнопка - остальные характеристики. Т.е. радиус и ширину он может поменять сразу в окне автомобиля, а наличие шипов только в расширенном окне.
И аналогично в окне редактирования мотоцикла и велосипеда.
...
Рейтинг: 0 / 0
DataTemplate и ViewModel
    #40050132
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попутно вопрос, а как в таком случае лучше делать валидацию значений?
...
Рейтинг: 0 / 0
DataTemplate и ViewModel
    #40050138
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, Екатеринбург
Shocker.Pro,
У колеса есть:
Радиус, тип (радиальный, диагональный), ширина профиля, наличие шипов.
Человек редактирует автомобиль, там есть TextBox для радиуса колеса, ширины профиля и кнопка - остальные характеристики. Т.е. радиус и ширину он может поменять сразу в окне автомобиля, а наличие шипов только в расширенном окне.
И аналогично в окне редактирования мотоцикла и велосипеда.
Ну так одна и та же модель (колеса) может иметь два шаблона - сокращенный (для встраивания в окно автомобиля, мотоцика) и расширенный (для отдельного окна). Модель колеса при этом будет одна и та же. И свойства типа радиуса - это свойства модели колеса, а не модели автомобиля. И модели колеса должно быть пофиг, куда ее встроили. Повторяю - модель колеса ничего не должна знать о родителе.
...
Рейтинг: 0 / 0
DataTemplate и ViewModel
    #40050140
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, Екатеринбург
Попутно вопрос, а как в таком случае лучше делать валидацию значений?
это непростой вопрос
...
Рейтинг: 0 / 0
DataTemplate и ViewModel
    #40050142
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Кажется допер. Т.е. надо сделать разные DataTemplate для колеса, которые будут дергать одну и туже ViewModel колеса.
А окно автомобиля имеет свою ViewModel, в которой уже все что касается колеса не обрабатывается. Верно?
...
Рейтинг: 0 / 0
DataTemplate и ViewModel
    #40050145
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, Екатеринбург
Shocker.Pro,

Кажется допер. Т.е. надо сделать разные DataTemplate для колеса, которые будут дергать одну и туже ViewModel колеса.
А окно автомобиля имеет свою ViewModel, в которой уже все что касается колеса не обрабатывается. Верно?
Да.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / DataTemplate и ViewModel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (16): Анонимы (14), Yandex Bot, Bing Bot 9 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]