1

私はこの問題に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 つの列のコンボにバインドしたい場合。私がしなければならないこと?

4

0 に答える 0