【发布时间】:2013-04-27 08:26:07
【问题描述】:
使用 Caliburn Micro 1.5.1 我试图让设计时绑定在 WP8 应用程序中工作。我创建了一个设计时 ViewModel,我在 PhoneApplicationPage 中明确指定:
<phone:PhoneApplicationPage
d:DataContext="{Binding Source={d:DesignInstance Type=designTime:StartPageDesignTimeViewModel, IsDesignTimeCreatable=True}}"
micro:Bind.AtDesignTime="True"
该页面实际上不过是 Telerik 的 RadDataBoundListBox:
<Grid x:Name="ContentPanel">
<telerikPrimitives:RadDataBoundListBox x:Name="Rooms" ...>
如您所见,我的 ViewModel(和设计时视图模型)有一个名为 Rooms 的公共属性,我使用命名约定方法将其绑定到 ItemsSource 集合。但是,除非我添加 ItemsSource 属性,否则该方法在设计时不起作用
<Grid x:Name="ContentPanel">
<telerikPrimitives:RadDataBoundListBox x:Name="Rooms" ItemsSource="{Binding Rooms}" ...>
但是,当我使用 ItemsSource 绑定时,我失去了像 SelectedItem 这样的 CM 连接魔法。有没有办法让我的绑定使用命名约定方法在设计时工作,而不用除设计时属性以外的任何东西修改页面?
【问题讨论】:
标签: c# data-binding caliburn.micro design-time design-time-data