キーが文字列の辞書と同じクラスの値のプロパティがあります。プロパティを更新すると自動的に値を更新するにはどうすればよいですか? viewmodelの辞書の値をプロパティに自動的に更新する
private Dictionary<string, string> _fields = new Dictionary<string, string>();
public Dictionary<string, string> Fields
{
get
{
return _fields;
}
}
public GPHDTModel()
{
_fields.Add("MessageID", MessageID);
}
private string _messageID;
public string MessageID
{
get { return _messageID; }
set { _messageID = value; OnPropertyChanged("MessageID"); }
}
ここにあります関連セクション:
GPHDTModel gphdtModel = new GPHDTModel();
public MainWindowViewModel()
{
gphdtModel.MessageID = "3";
}
ので、MessageID
の値を持つキー "メッセージID" はあります
はここでモデルクラスの関連するセクションです。 MessageID
を3に設定しましたが、辞書の値はnullのままです。私はOnPropertyChanged
のイベントを使いこなし、ObservableDictionary
も実装しようとしましたが、運はありません。
「プロパティを更新すると自動的に値を更新する方法はありますか?」 - プロパティセットを変更して辞書を更新するか、 'OnPropertyChanged'メソッドを代わりに行うようにします...しかし基本的には、' _fields ["MessageID"] = MessageID; 'またはそれと同等のものを呼び出す必要があります変更... –
辞書に既に存在するキーを追加することはできません。したがって、あなたは_fields [key_name] = new valueで置き換えます。 – jdweng