2

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 であることがわかっています。

4

1 に答える 1