Caliburn Micro - автоматическое создание объектов ViewModel из привязки ItemSource классов Model? - PullRequest
1 голос
/ 11 июля 2011

Возможно ли в Caliburn Micro внедрить объект ViewModel между видом и моделью при привязке к коллекции объектов модели?

Например, если бы у меня было IShellViewModel со следующим свойством:

IEnumerable<Foo> Foos { get; set; }

и ListBox в ShellView.xaml

<ListBox x:Name="Foos"/>

Который будет использовать FooView для визуализации элементов списка. Может ли Caliburn добавить коллекцию IEnumerable для привязки View? Или мне нужно создать параллельную коллекцию IEnumerable рядом с исходной моделью IEnumerable.

1 Ответ

1 голос
/ 11 июля 2011

Я не совсем уверен, что вы спрашиваете, когда вы говорите «который будет использовать FooView для рендеринга элементов списка», вы имеете в виду 1 представление, которое отображает ВСЕ элементы, или представление для элемента?

Если это последнее, то Caliburn.Micro имеет соглашение, согласно которому, если у вас есть набор моделей представлений (например, IEnumerable<FooViewModel>), привязанный к ItemsControl, он будет искатькаждый из элементов и автоматически связать локализованный вид с моделью вида этого элемента.

Если вы спрашиваете, может ли Caliburn.Micro автоматически генерировать типы ViewModel из типов вашей модели, то нет.Как бы он узнал, какие свойства выставить?Обычно модель представления изменяет и расширяет функциональные возможности модели, включая логику представления, которая будет характерна для конкретной технологии пользовательского интерфейса.

...