私のモデルでは、次のプロパティがあります
private string somestring;
public string SomeString
{
get
{
return somestring;
}
set
{
SetField(ref somestring, value, "SomeString");
}
}
私のビューモデルには、選択したオブジェクトを表す ObservableCollection があります
private ObservableCollection<Models.model> selectedObjects
public ObservableCollection<Models.model> SelectedObjects
{
get
{
return selectedObjects;
}
set
{
SetField(ref selectedObjects, value, "SelectedObjects");
}
}
そのプロパティ値がcurrentObjectで変更されるたびに、コレクション内のすべてのオブジェクトに同じプロパティ値を設定したいので、ビューモデルでこれを思いつきました
private void SetMultiplePropertyValues<T>(string propName, object value)
{
if(!SelectedObjects.Contains(currentObject)) return;
var p = typeof(T).GetProperty(propName);
foreach (var obj in SelectedObjects)
{
p.SetValue(obj, value, null);
}
}
プロパティが変更されたときにその関数を呼び出すよりも便利な方法はありますか