Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
03.10.2012, 10:40
|
|||
---|---|---|---|
|
|||
mvvm light - несколько экземпляров View каждый со своим ViewModel |
|||
#18+
Доброго времени суток всем! Открыл для себя mvvm light, действительно удобная вещь в некоторых моментах, но есть одна проблема: В приложении необходимо дать возможность создать несколько экземпляров одной и той же View, но каждый должен иметь отдельную ViewModel - сколько я не бился придумать как это сделать с использованием ViewModelLocator так и не смог. Вот подтверждение моих рассуждений(я не один такой) ссылка Вот по этой ссылке разъясняют как это сделать, но если я правильно понял, то там для каждой View создается отдельный экземпляр Locator'а - какой тогда смысл его использовать вообще? (это уже ненужная сложность). Если этот сценарий легко реализуется с помощью другого mvvm фреймворка(Prism или какой то еще может быть), то направьте куда копать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.10.2012, 11:11
|
|||
---|---|---|---|
mvvm light - несколько экземпляров View каждый со своим ViewModel |
|||
#18+
xpoft2010В приложении необходимо дать возможность создать несколько экземпляров одной и той же View, но каждый должен иметь отдельную ViewModel - сколько я не бился придумать как это сделать с использованием ViewModelLocator так и не смог.Все эти ViewModelLocator, EventAggregator, RegionManager и прочие ненужности не приспособлены к описанной ситуации. Забей на них и делай по обычному. Код: xml 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.10.2012, 16:21
|
|||
---|---|---|---|
mvvm light - несколько экземпляров View каждый со своим ViewModel |
|||
#18+
ВАриантов много, Алексей продемонстрировал самый дубовый.Напишу, когда будет время ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.10.2012, 07:01
|
|||
---|---|---|---|
mvvm light - несколько экземпляров View каждый со своим ViewModel |
|||
#18+
Нормальный фреймворк должен поддерживать навигацию(см prism или caliburn) Вариантов может быть много, тк xaml много возможностей для этого: 1. Создание ViewModel в xaml, если для у него конструктор без параметров Код: xml 1. 2. 3.
2. Implicit datatemplate. Определяем в ресурсе шаблон для view Код: xml 1. 2. 3. 4. 5. 6.
После этого котролы, которые поддерживают DataTemplate(ContentCOntol, ItemsControl и все его наследники, etc) будут автоматически выбирать нужный шаблон. Достаточно Код: c# 1. 2. 3.
Один из вариантов для view first: 1. Регистрируем view,viewmodel в контейнере: container.RegisterType<IView, MyView>("имяДляНавигации"+"View"); container.RegisterType<IViewModel, MyViewModel>("имяДляНавигации" + "ViewModel"); В Mef это делается гораздо проще только через нужные атрибуты у классов 2. Рисуется сервис навигации с методом Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
или более простой поход Код: c# 1. 2. 3. 4.
Код: c# 1.
И тд. Есть масса фреймворков с разными подходами ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.10.2012, 14:07
|
|||
---|---|---|---|
|
|||
mvvm light - несколько экземпляров View каждый со своим ViewModel |
|||
#18+
Спасибо за ответы, посмотрю в сторону Prism ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.10.2012, 16:03
|
|||
---|---|---|---|
mvvm light - несколько экземпляров View каждый со своим ViewModel |
|||
#18+
xpoft2010 создать несколько экземпляров одной и той же View, но каждый должен иметь отдельную ViewModel Не вижу проблем в классическом mvvm, даже без mvvmlight, prism и прочих поделок. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.10.2012, 20:41
|
|||
---|---|---|---|
mvvm light - несколько экземпляров View каждый со своим ViewModel |
|||
#18+
skolexpoft2010 создать несколько экземпляров одной и той же View, но каждый должен иметь отдельную ViewModel Не вижу проблем в классическом mvvm, даже без mvvmlight, prism и прочих поделок. А что такое классический mvvm? Нечто по мотивам единственной статьи на русском в msdn? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.10.2012, 10:54
|
|||
---|---|---|---|
mvvm light - несколько экземпляров View каждый со своим ViewModel |
|||
#18+
SeVa, ты наверное меня с МСУ перепутал ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.10.2012, 11:01
|
|||
---|---|---|---|
mvvm light - несколько экземпляров View каждый со своим ViewModel |
|||
#18+
SeVaskoleпропущено... Не вижу проблем в классическом mvvm, даже без mvvmlight, prism и прочих поделок. А что такое классический mvvm? Нечто по мотивам единственной статьи на русском в msdn?То что лежит в основе WPF/SL, а не описано в "единственной статье", и не предложено в различных калабуризмах. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.10.2012, 11:03
|
|||
---|---|---|---|
mvvm light - несколько экземпляров View каждый со своим ViewModel |
|||
#18+
SeVa Код: xml 1. 2. 3.
Не боишся так делать? Что, если потом захочется сделать так: Код: xml 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.10.2012, 11:05
|
|||
---|---|---|---|
mvvm light - несколько экземпляров View каждый со своим ViewModel |
|||
#18+
SeVa Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Кто-то где-то недавно утверждал, что ServiceLocator - зло. Или мне показалось? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=21&mobile=1&tid=1441652]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 332ms |
total: | 464ms |
0 / 0 |