此文档是否仍然有效或我遗失了什么?
PropertyGrid
控件似乎没有SelectedObjects
或SelectedObjectsOverride
成员。我正在使用针对.NET Framework 4.0的Toolkit的最新版本(2.5)。
@ faztp12的回答让我了解了。对于寻找解决方案的任何其他人,请按照以下步骤操作:
将PropertyGrid
的{{1}}媒体资源绑定到第一个选定项目。像这样:
SelectedObject
收听<xctk:PropertyGrid PropertyValueChanged="PG_PropertyValueChanged" SelectedObject="{Binding SelectedObjects[0]}" />
的{{1}}事件,并使用以下代码将属性值更新为所有选定对象。
PropertyValueChanged
希望这可以帮助有人在路上。
答案 0 :(得分:2)
当我遇到类似问题时,我做了什么,我订阅了PropertyValueChanged
,List
填充了SelectedObjects
。
我检查了List的内容是否属于同一类型,然后如果是这样,我更改了每个项目中的属性:
PropertyItem changedProperty = (PropertyItem)e.OriginalSource;
PropertyInfo t = typeof(myClass).GetProperty(changedProperty.PropertyDescriptor.Name);
if (t != null)
{
foreach (myClass x in SelectedItems)
t.SetValue(x, e.NewValue);
}
我使用了这个,因为我需要制作一个布局设计师,这使我能够一起更改多个项目的属性:)
希望它有所帮助:)