2012-02-03 5 views
1

Лучшее приложение, которое не нуждается в документации. Второй шаг от идеала - это приложение с краткими и понятными подсказками. В то же время всплывающие подсказки являются обязательными! ... но..русы существуют для нарушения ;-), а последнее часто приводит к тяжелым последствиям. Так что это отправная точка. У нас есть довольно большое приложение без документации. Мы реорганизуем его медленно, но пользователю нужна какая-то документация. У нас также есть несколько технических авторов, которые могут документировать наше программное обеспечение, и у них есть для этого запасные ресурсы. У меня есть идея, как облегчить их работу.Прилагаемое приложение

Пользователь перемещает мышь в элемент управления, активирует (по ярлыку) DocTool и вводит описание элемента управления. Это описание становится подсказкой для заостренного элемента управления. Итак, вся эта функция является компонентом.

Q1: Кто-нибудь знает, существует ли такой компонент?

Q2: Как можно однозначно идентифицировать управление для последующих ссылок? (Инструменты тестирования автоматизирован UI как-то удается сделать)

+0

Is DocTool что-то у вас уже есть, или это то, что вы хотите? Я подозреваю, что вы можете расширить все базовые элементы управления. Как бы вы сделали безопасность, чтобы не только кто-то мог активировать DocTool? Это облегчит работу технических писателей, но более подвижные части означают большую работу для разработчиков. – Paparazzi

+0

@BalamBalam DocTool - это то, что мы хотим. Мы знаем, кто из пользователей имеет записи для активации инструмента. Это «больше», потому что наше приложение используется внутренне многими отделами, включая технических писателей, поэтому пользователи близки к нам, и мы не хотим, чтобы они разозлились =). –

ответ

0

Вариант 1
Вы можете проверить WPF Globalization и применить подобные методы к свойству ToolTip каждого элемента управления.

Вариант 2
Создание редактируемого внешнего источника данных (например, XML-файл). Этот источник данных должен иметь как минимум столбец Id и ToolTip.

Создайте синглтон, который обертывает ваш источник данных (например, ToolTipData) и предоставляет доступ к каждой строке через источник данных Id.

Укажите прикрепленное свойство для FrameworkElement типа string под названием ToolTipId. Прикрепите его к каждому элементу управления, которому нужна подсказка. (Убедитесь, что для каждого элемента управления применяется уникальное значение.) Значение ToolTipId должно соответствовать значению Id из источника данных.

В прикрепленном обратном вызове свойств установите ToolTip, как это с помощью ToolTipId:

frameworkElement.ToolTip = ToolTipData.Default.Tooltips[ToolTipId]; 
+0

обратите внимание, что каждая ситуация отличается (вы можете использовать данные CSV или что-то, что можно восстановить через Интернет), но вот как я начал заниматься проблемой –

+0

Как я могу сопоставить идентификатор для управления? Даже в WPF требуется установка x: Uid для каждого элемента управления, не говоря уже о WinForms. Должен быть другой способ определить контроль над формой. Может быть, я использовал бы какой-то путь, построенный по именам элементов управления в визуальном дереве (WPF или WinForms) –

+0

, чтобы сопоставить 'Id' с элементом управления, вы используете прикрепленное свойство ToolTipId (как указано в ответ). 'Control':' ToolTipId': 'DataSource.Id':' ToolTip'. Я бы рекомендовал против построенного пути, потому что тогда в вашем источнике данных вы могли бы иметь Id: «Window.Grid.ListBox.ListBoxItem.StackPanel.CheckBox», который кажется довольно громоздким;) –

Смежные вопросы