Основная проблема заключается в том, что API скрывает все страницы (PropertySheetPage) и, следовательно, средства просмотра (PropertySheetViewer) в представлении свойств.
Хорошая новость заключается в том, что вы можете указать представлению свойств использовать страницу по вашему желанию. Поэтому я предоставляю страницу, которую она обычно использует по умолчанию (PropertySheetPage), за исключением случаев, когда я предоставляю ее, я сохраняю ссылку на нее (очевидно), а затем вы можете вызвать propertySheetPageRef.refresh()
для обновления модели (к счастью, этот метод общедоступен ).
public Object getAdapter(Class adapter) {
if (adapter == IPropertySource.class) {
return resultProvider;
} else if (adapter == IPropertySheetPage.class) {
return propertySheetPage;
}
return null;
}