このドキュメントはまだ有効ですか、それとも何か不足していますか?
PropertyGrid
SelectedObjects
コントロールにはまたはSelectedObjectsOverride
メンバーがないようです。.NET Framework 4.0 に対して Toolkit の最新バージョン (2.5) を使用しています。
アップデート
@ faztp12の回答でうまくいきました。解決策を探している他の人は、次の手順に従ってください。
PropertyGrid
のSelectedObject
プロパティを最初に選択したアイテムにバインドします。このようなもの:<xctk:PropertyGrid PropertyValueChanged="PG_PropertyValueChanged" SelectedObject="{Binding SelectedObjects[0]}" />
PropertyValueChanged
のイベントをリッスンしPropertyGrid
、次のコードを使用して、選択したすべてのオブジェクトのプロパティ値を更新します。private void PG_PropertyValueChanged(object sender, PropertyGrid.PropertyValueChangedEventArgs e) { var changedProperty = (PropertyItem)e.OriginalSource; foreach (var x in SelectedObjects) { //make sure that x supports this property var ProperProperty = x.GetType().GetProperty(changedProperty.PropertyDescriptor.Name); if (ProperProperty != null) { //fetch property descriptor from the actual declaring type, otherwise setter //will throw exception (happens when u have parent/child classes) var DeclaredProperty = ProperProperty.DeclaringType.GetProperty(changedProperty.PropertyDescriptor.Name); DeclaredProperty.SetValue(x, e.NewValue); } } }
これが誰かの助けになることを願っています。