#c# #fixeddocument
#c# #исправленный документ
Вопрос:
Я заполняю FixedDocument как часть функции отчетности. У меня нет контроля над тем, как или почему используется подход, просто используется этот подход.
Итак, я программно добавляю строки в сетку страницы, добавляю текстовые элементы управления для отображения данных и т.д. Это работает.
Теперь я пытаюсь добавить поддержку, чтобы пользователь мог щелкнуть элемент в отчете, и я могу открыть этот элемент в окне редактирования. Единственная проблема, с которой я сталкиваюсь, — это идентификация того, на что нажал пользователь.
Исправленный документ фиксирует щелчки мыши и игнорирует событие mouseclick, добавленное в текстовое поле.
Когда я добавляю текстовые поля, если я могу отслеживать фактические координаты добавленного элемента, я могу ссылаться на это с помощью кода в событии щелчка FixedDocument (поскольку у меня есть координаты или где пользователь щелкнул.)
Какой простой способ для меня получить ссылку на объект или информацию об элементе, по которому пользователь щелкнул?
Я попытался выполнить поиск, но, похоже, ничто не решало эту проблему, учитывая все поисковые термины, которые я мог придумать, используя.
Спасибо
Ответ №1:
Попробуйте прослушать PreviewMouseLeftButtonUp
событие вашего фиксированного документа. Он предоставляет параметр MouseButtonEventArgs, из которого вы можете найти OriginalSource и сравнить его с вашим текстовым полем и выполнить необходимое действие.
Вы можете использовать любое другое событие предварительного просмотра с префиксом в своих интересах, где бы у вас ни возникла аналогичная потребность.
Комментарии:
1. Я использую это (чтобы я мог открыть элемент с помощью мыши), но могу ли я использовать это, чтобы позволить пользователю перетащить выбранный элемент в новое местоположение в FixedDocument? Если да, есть ли у вас ссылка на пример?