wpf ComboBox DisplayMemberPath、SelectedValue、SelectedValuePath に混乱しています。質問する

wpf ComboBox DisplayMemberPath、SelectedValue、SelectedValuePath に混乱しています。質問する

私はいつもコンボボックスのプロパティに苦労してきました

  1. ディスプレイメンバーパス
  2. 選択された値
  3. 選択された値のパス

マスター詳細フォームを構築しています。

  1. 顧客が入ったコンボボックス
  2. ユーザーがコンボで顧客を選択する
  3. すべてのテキストボックスEGが正しく入力されます

私が抱えている問題は、動作させることはできたものの、それらのプロパティとその違いが理解できないことです。それらが何をするのかを説明する簡単な例はありますか?

ベストアンサー1

例を見ればもっとよく理解できると思います。次のクラスをご覧ください:

public class Employee
{
   public int Id { get; set; }
   public string Name { get; set; }
}

そして次の xaml:

<ComboBox ItemsSource="{Binding Source={StaticResource Employees}}"
          DisplayMemberPath="Name"
          SelectedValuePath="Id"/>

DisplayMemberPathはプロパティを指しているNameため、 に表示される値ComboBoxEmployeeドロップダウン リストに含まれるエントリがオブジェクトNameのプロパティになりますEmployee

他の 2 つを理解するには、まず を理解する必要がありますSelectedItem。は、 からSelectedItem現在選択されているオブジェクトを返します。オブジェクトを割り当てて、 の現在の選択を設定することもできます。EmployeeComboBoxSelectedItemEmployeeComboBox

SelectedValuePathは を指していますId。つまり、を使用してId現在選択されている の を取得できます。を に設定することで、 で現在選択されている を設定することもできます(これはリストに存在するものと想定されます)。EmployeeSelectedValueEmployeeComboBoxSelectedValueIdEmployees

おすすめ記事