Это больше вопрос MVVM, чем вопрос калибровки, но он связан с тем, как я могу сделать это с помощью калибра.
Я новичок в разработке Sliverlight / WP7, поэтому, пожалуйста, дайте мне знать, если я не достаточно хорошо описываю себя.
Я правильно подключил caliburn.micro к приложению WP7 с phonecontainer / simplecontainer, viewmodels и т. Д. Проблема, с которой я сталкиваюсь, заключается в том, как правильно привязать коллекцию моделей к экрану.
Например, у меня есть следующая модель:
SummaryItem
{
int Id
string Name
string Description
}
И соответствующая модель представления:
SummaryViewModel : Conductor<IScreen>.Collection.OneActive
{
ObservableCollection<SummaryItem> SummaryItems;
OnInitialize()
{
SummaryItems = // REST api call to load items
}
}
А вид:
<ListBox x:Name="SummaryItems" Height="617" HorizontalAlignment="Left" VerticalAlignment="Top" Width="468" Background="Transparent">
<ListBox.ItemTemplate>
<DataTemplate>
<Button Width="460" Height="120">
<Button.Content>
<StackPanel Orientation="Horizontal" Height="120" Width="400">
<TextBlock Text="{Binding Id}" Height="120" FontSize="40" Width="350" />
<TextBlock Text="{Binding Name}" Height="120" FontSize="40" Width="350" />
<TextBlock Text="{Binding Description}" FontSize="40" Width="50" TextAlignment="Right" />
</StackPanel>
</Button.Content>
</Button>
<ContentControl cal:View.Model="{Binding}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
У меня вопрос: как правильно использовать silverlight / caliburn для привязки коллекции объектов модели к виду, который вы будете использовать в навигации. Как вы можете видеть, когда кто-то нажимает одну из кнопок, я сделаю еще один вызов api rest на следующую модель представления, чтобы получить данные об этих элементах и снять их на экране. Однако я не могу отобразить элементы на экране, используя этот код списка. Я попытался использовать ItemsSource = SummaryItems, и это сработало, но, похоже, не совсем так, как сэмплы. В примерах я заметил, что свойство Items используется в модели представления, и я не уверен, как оно интегрируется с объектами модели.
Вероятно, у меня просто нет четкого представления о том, как работает связывание во всех этих ситуациях и как с этим взаимодействует калибровка. Может ли кто-нибудь указать мне правильное направление?
Любая помощь будет принята с благодарностью. Спасибо!
Sean