我们正在使用 Caliburn.Micro/Silverlight 4,生活很好。
我正在尝试将组合框的 itemsSource 绑定到 viewModel,但这似乎不可能,因为组合框已经绑定到它自己的行的 dataItem。填充组合的逻辑会随着屏幕上的其他数据而变化,所以我不能像我一直使用的那样真正使用静态列表。
有没有办法以某种方式将目录绑定到视图模型???我已经尝试过元素到元素的绑定,但这似乎永远不会在网格中工作。
<Controls:DataGridTemplateColumn x:Name="FooNameCol" Header="Foo" MinWidth="200">
<Controls:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=Foo.ShortName}"
Style="{StaticResource DataGridTextColumnStyle}"/>
</StackPanel>
</DataTemplate>
</Controls:DataGridTemplateColumn.CellTemplate>
<Controls:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox DisplayMemberPath="ShortName"
MinWidth="200" MinHeight="25"
SelectedItem="{Binding Path=Officer, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}"
ItemsSource="{Binding Officers, Source={StaticResource ReferenceListRetriever}}" />
</DataTemplate>
</Controls:DataGridTemplateColumn.CellEditingTemplate>
</Controls:DataGridTemplateColumn>