WPF アプリケーションで EntityFramework ライブラリを使用していますが、次の問題があります: (私の知る限り) MVVM パターンを使用しており、EF 値を使用して Combobox ルックアップを作成しようとしています。
- 多くのオフィスを含む会社クラスがあります(クラスも)
- これは EntityFramework によってモデル化されており、すべてのリンクは正しいです (Office には外部キーである CompanyName があります)。
OfficeView クラスは次のとおりです。
public partial class AddOffice : Window
{
private DBHelper.ResourceManagementContext context = new DBHelper.ResourceManagementContext();
public AddOffice()
{
InitializeComponent();
context.Companies.Load();
this.DataContext = context.Companies.Local;
//this.DataContext = new AddOfficeViewModel();
}
public void CloseCommandHandler(object sender, ExecutedRoutedEventArgs e)
{
this.Close();
}
}
対応する XAML は次のとおりです。
<Label Grid.Row="4" Grid.Column="0" Margin="10,10">Company:</Label>
<ComboBox Grid.Row="4" Grid.Column="1" Margin="10,10"
ItemsSource="{Binding}"
DisplayMemberPath="CompanyName"
SelectedValuePath="CompanyName"
SelectedValue="{Binding Path=CompanyName}"/>
MVVM パターンは通常 ViewModel を View に渡すことを知っているので、OfficeViewModel を使用して EntityFramework Company リストを ComboBox にバインドするにはどうすればよいでしょうか?
ComboBox のプロパティを理解しました。選択された値は Office オブジェクトの CompanyName であり、SeletecValuePath は Company オブジェクトの CompanyName であることがわかっています。