当属性数量发生变化时更新PropertyGrid

时间:2018-06-14 15:26:20

标签: wpftoolkit propertygrid wpf-extended-toolkit

在我的XAML中,我有一个PropertyGrid,AutoGenerateProperties设置为false。 PropertyGrid中显示的任何对象都有一个为其构建的ICustomTypeDescriptor类(因为许多选项需要为它们定制IItemsSource)

我遇到的问题是多个对象上的一个属性是用户可以添加和删除的“元数据”集合。 (元数据只是字符串/字符串名称/值对的集合)

我设置它,以便当用户添加/删除元数据条目时,ICustomTypeDescriptor对象接收CollectionChanged事件并自行更新,但我无法弄清楚如何使用新类型描述符使PropertyGrid更新自身没有完全重建它。

headers

我在PropertyGrid上找不到一个函数来刷新它显示的属性。如果数据更改,则有许多功能可以使其更新,例如Update(),RefreshProperty属性,PropertyChanged和PropertyValueChanged事件。但似乎没有办法通知它本身的属性已经改变。

我发现唯一有用的东西就是放弃更新,只是再次设置propGrid.SelectedObject并使用一个新的TypeDescriptor对象,它有十几个可以在属性网格中显示的不同类,这使得代码甚至比现在更丑陋。

0 个答案:

没有答案