1. ホーム
  2. wpf

wpf ComboBox DisplayMemberPath, SelectedValue and SelectedValuePath に困惑しています。

2023-10-04 19:28:20

質問

私はいつもこれらのコンボボックスのプロパティで苦労している

  1. 表示メンバーパス
  2. 選択された値
  3. 選択された値のパス

私は、マスター詳細フォームを作成しています。

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

私が持っている問題は、私はそれが動作するようにしましたが、私はそれらのプロパティと違いを理解していない。 それらが何をするのかを説明するnoddy例はありますか?

どのように解決するのですか?

例で説明すると分かりやすいと思います。このクラスを見てください。

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

で、以下のxamlを作成します。

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

DisplayMemberPathName プロパティに表示される値は ComboBoxEmployee のエントリは、ドロップダウン・リストに含まれる Name のプロパティになります。 Employee オブジェクトを作成します。

他の二つを理解するために、まずは SelectedItem . SelectedItem は、現在選択されている Employee オブジェクトを返します。 ComboBox . を割り当てることもできます。 SelectedItemEmployee オブジェクトで現在の選択範囲を設定します。 ComboBox .

SelectedValuePath を指す Id を意味します。 Id で、現在選択されている Employee を使用することで SelectedValue . また、現在選択されている Employee の中に ComboBox を設定することで SelectedValueId (が存在すると仮定します)。 Employees のリストに存在すると仮定します)。