0

データベースのテーブルTblPersonには、可能な値 null、「M」、および「F」に対するチェック制約を指定してCHAR(1)呼び出されるフィールドがあります。Gender

string内に (EF が type にマップされている)TblPerson.Genderプロパティを表示 (および双方向バインド) しようとしていますComboBoxが、うまく動作していないようです。

TextBox他のコントロール ( es) をTblPerson問題なく同じオブジェクトにバインドします。ItemsSourceチェック制約に従って を設定しました。

comboBoxGender.ItemsSource = new char[] { '\0', 'M', 'F' };

ItemsSourceしかし、オブジェクト プロパティの とバインディングの間のリンクを把握できません。
「男性」または「女性」を表示して、それを「M」と「F」にリンクしようとさえしていないので、コンバーターが必要だとは思いません (または必要ですか?)

ComboBoxでは、これを機能させるために設定する必要がある (悪名高い) 3 つのプロパティをどうすればよいでしょうか?
しばらくここにいて、まだクリックしていません。はい、Microsoft のHow to: Use SelectedValue、SelectedValuePath、および SelectedItem を読みました。

4

2 に答える 2

0

まず、「Tbl」というネーミングは忘れてください。エンティティはテーブルではありません。エンティティはエンティティです。

次に、手続き型コードで UI 要素のプロパティを操作しないでください。

これで、使用するだけで準備完了SelectedItemです。

<ComboBox ItemsSource={Binding SomeList} SelectedItem={Binding Person.Gender}/>
于 2013-06-12T18:20:06.237 に答える