3

PropertyGridクラスのいくつかのプロパティを編集するために (CollectionEditor で) を使用しています。プロパティは、実際には を実装するクラスにラップされていますICustomTypeDescriptor。そのうちの 1 つは、から継承したカスタム エディタを使用しUITypeEditorます。ユーザーがカスタム エディターでこのプロパティの値を変更すると、別のプロパティの値も更新されます (カスタム エディターのコードによって。このため、プロパティ ラッパーには他のプロパティへの参照があります)。ここまでは順調ですね。

ただし、ユーザーがカスタム エディターを閉じるPropertyGridと、編集したプロパティの新しい値のみが表示され、他のプロパティは更新されません (その値が確実に変更されていても)。

PropertyGridカスタム エディターからコンテンツ全体を更新するにはどうすればよいですか?

4

1 に答える 1

1

私は自分で解決策を見つけました:

カスタム エディターの EditValue メソッドは、渡された値オブジェクトではなく、新しいオブジェクトを返す必要があります。次に、PropertyGrid は他のプロパティも自動的に更新します。

RefreshProperties 属性をどこでも使用する必要はありませんでした。

于 2012-12-16T15:41:41.967 に答える