私たちは Caliburn.Micro/Silverlight 4 を使用しており、生活は良好です。
コンボボックスの itemsSource を viewModel にバインドしようとしていますが、コンボボックスが既に独自の行の dataItem にバインドされているため、これは不可能のようです。コンボを埋めるロジックは、画面上の他のデータで変化するため、これまで使用していたような静的リストは実際には使用できません。
ディレクトリをviewModelにバインドする方法はありますか??? 要素間のバインディングを試みましたが、これはグリッド内で機能するようには見えません。
<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>