По названию вы наверняка поняли, что речь идет об усовершенствовании базового функционала веб-частей.
Основная неприятность, с которой сталкиваешься при разработке веб-частей SharePoint - это конечно же, несовершенство системы редактирования их свойств:
- Поддерживаются только самые простые типы свойств.
- Нет встроенного механизма для реализации локализации названий и описаний свойств.
- Перечисления (enum) имеют существенные ограничения при отображении, в том числе отсутствие возможности для их локализации и невозможность отображения значений с пробелами, спецсимволами, а также чисел.
Поэтому логично было создать некий универсальный механизм, который обеспечивал бы реализацию некоторых дополнительных функций для редактора свойств веб-частей, и содержал бы легко расширяемую библиотеку самых частоиспользуемых контролов.
Собственно, моя попытка реализовать эту идею и получила название EnhancedWebPart.
Основные преимущества EnhancedWebPart:
- Чтобы использовать функционал EnhancedWebPart, необходимо унаследовать собственную веб-часть от этого класса, и отметить специальными атрибутами нужные свойства. EnhancedWebPart самостоятельно создаст один или несколько (для каждого уникального значения атрибута Category) EditorPart'ов, и наполнит их соответствующими контролами.
- Простой и гибкий механизм для добавления новых отображаемых классов. Для этого используется MEF.
- В настоящее время в "библиотеке" отображаемых классов, поставляемой вместе с EnhancedWebPart, присутствуют следующие классы: bool, int, string, enum и SPUser.
- Поддерживается локализация и отображение любых значений в списках (через enum).
На CodePlex'е я довольно подробно (правда, по-английски), с примерами, задокументировал этот проект. Так что вот, представляю:
Всё это фурычит (по мелочам что-то подкрутить пришлось), теперь стало мало поле для текста.
ОтветитьУдалитьЧем-то надо бы TextBox заменить, чтоб как в стандартных панелях было...