2

Entity Frameworkデータベースソースとして使用しており、Linqクエリ「var」タイプを ObservableCollection に変換する必要があります。次に、ObservableCollection を WPF フォームの ComboBox にバインドする必要があります。ItemsSource、DisplayMemeberPath、SelectedValuePath、および SelectedValue にバインドします。

コードは次のとおりです。

using (PulseContext pc = new PulseContext())
{
    var maritalcodes =  from m in pc.CodeMaster
                        where m.Type == "16"
                        select new { m.Code, m.Description };

    prop.ClientData.Options = new ObservableCollection<object>(maritalcodes);
}

問題は、ComboBox値のコードと表示の説明にバインドする代わりに、これを「{ コード = ????、説明 = ???? }」として表示することです。ComboBox を個々の要素にバインドするにはどうすればよいですか?

4

2 に答える 2

3

SelectedValuePath次のDisplayMemberPathように設定する必要があります。

prop.ClientData.Options = new ObservableCollection<object>(maritalcodes);
prop.ClientData.Options.SelectedValuePath = "Code";
prop.ClientData.Options.DisplayMemberPath = "Description";

または、次のように xaml で設定できます。

<ComboBox ItemsSource="{Binding Path=maritalcodes}"
          SelectedValuePath="Code"
          DisplayMemberPath="Description" />
于 2012-07-18T22:41:38.533 に答える
1
<ComboBox ItemsSource="{Binding Path=maritalcodes}"
      SelectedValuePath="Code"
      DisplayMemberPath="Description" 
      SelectedValue="{Binding Path=Code}"/>

これがお役に立てば幸いです。

于 2012-07-19T00:32:55.717 に答える