私はこの問題に1週間苦労しており、どこでも検索しましたが、自分で答えを見つけることができませんでした. ここの手がかりから半分を実行しましたが、完了できませんでした。
やりたいこと: 1 つまたは 2 つのフィールドをコンボ ボックス (1 つまたは 2 つの列のコンボ) にバインドしたい。これらのコンボ フィールドの各フィールドには、DB のプロファイル テーブルの FK である ID があります。DB はエンティティ フレームワーク Model first[.edmx](自動コード生成)です。次のようにDBに接続しました:
データアクセス:
#region Fields
MedManAgeDbEntities objDataContext;
readonly List<Patient_Profile> _patientsList;
readonly List<Renal_Function> _renalFunctionsList;
#endregion // Fields
/// <summary>
/// Creates a new repository of patients.
/// </summary>
public PatientProfile()
{
objDataContext = new MedManAgeDbEntities();
_patientsList = objDataContext.Patient_Profiles.ToList();
_renalFunctionsList = objDataContext.Renal_Functions.ToList();
}
#endregion // Creation
#region Public Interfaces
public ObservableCollection<Renal_Function> GetRenalFunction()
{
ObservableCollection<Renal_Function> temp = new ObservableCollection<Renal_Function>(objDataContext.Renal_Functions.ToList<Renal_Function>());
return temp;
}
ビューモデル:
#region Fields
RelayCommand _saveCommand;
readonly PatientProfile _patientsList = new PatientProfile();
readonly Patient_Profile tempPatient;
public ObservableCollection<Renal_Function> _renalFunction;
#endregion //Fields
#region Constructor
public patientCharacteristicViewModel()
{
tempPatient = new Patient_Profile();
_renalFunction = _patientsList.GetRenalFunction();
}
#endregion //Constructor
#region Getters and setters
public ObservableCollection<Renal_Function> RenalFunction
{
get
{
if (_renalFunction == null)
_renalFunction = _patientsList.GetRenalFunction();
return _renalFunction;
}
set
{
_renalFunction = value;
OnPropertyChanged("RenalFunction");
}
}
#endregion //Getters and setters
ビュー:
<ComboBox HorizontalAlignment="Left" Height="26" Margin="14,0,-69,0" Width="234" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding RenalFunction/Level}"/>
各 Renul 関数には、ID、Level、Definition の属性があります。ID は int で、残りは文字列です。コンボ ボックスでこれらのレベルの 1 つをクリックすると、そのレベルの ID が返されて、patient.Renul_Function_ID に入れられます。それ、どうやったら出来るの?
その後、自分のレベルと情報を 2 つの列のコンボにバインドしたい場合。私がしなければならないこと?