Есть контрол типа PropertyGrid для WPF
здесь
Ему в качестве параметра нужно передать ссылку на объект, и получаем таблицу со значениями свойств этого объекта и возможностью редактирования.
Мне же на эту таблицу не надо передавать все свойства объекта — их очень много. Мне достаточно редактировать свойства X,Y, Width & Height.
Для этого я написал вот такой Wrapper:
public class ControlWrapper
{
private ContentControl _source;
public ControlWrapper(ContentControl source)
{
_source = source;
}
public double X
{
get { return _source.X; }
set { _source.X = value; }
}
public double Y
{
get { return _source.Y; }
set { _source.Y = value; }
}
public double Width
{
get { return _source.Width; }
set { _source.Width = value; }
}
public double Height
{
get { return _source.Height; }
set { _source.Height = value; }
}
}
В итоге имеем следующее поведение: при изменении свойства через PropertyGrid — контрол меняет свое положение/размер. Если же контрол меняет свое положение/размер другими способами, то в PropertyGrid значения не обновляются.
Как тут правильно замапить свойства у Wrapper? Подписаться на PropertyChanged у source и анализировать их?