Это не дает прямого ответа на ваш вопрос, но вы можете рассматривать это как еще одно решение основной проблемы.
Взгляните на http://wpg.codeplex.com/. Я использовал аналогичный элемент управления, похожий на свойство сетки, в Windows Forms, который был изменен для понимания пользовательских атрибутов моих бизнес-объектов.
Теперь, в WPF, я думаю, что нечто подобное будет работать очень хорошо, если вы будете следовать шаблону MVVM и украсить свою ViewModel атрибутами, которые понимает такая сетка свойств. Тогда вам не нужно явно определять поля, как показано выше.
Вы можете иметь ViewModel:
class PersonViewModel
{
[DisplayName("Name")] // The property Grid uses this the Textblock text
[IsRequired] // The property grid could do validation on the field
[Visible]
public string Name { get; set; }
public long InvisibleSystemField { get; set; } // Not shown
}
И тогда у вас будут только виды (файлы Xaml), подобные этому:
<myCommon:PropertyGrid DataContext={Binding}/>
Он может просто использовать свой DataContext в качестве отправной точки для размышления.
ОК, я пока на этом остановлюсь:)
Я работаю над LOB-приложением на основе WPF и, возможно, в будущем создам что-то подобное.