Попытка получить ссылку на объект из FixedDocument с помощью click

#c# #fixeddocument

#c# #исправленный документ

Вопрос:

Я заполняю FixedDocument как часть функции отчетности. У меня нет контроля над тем, как или почему используется подход, просто используется этот подход.

Итак, я программно добавляю строки в сетку страницы, добавляю текстовые элементы управления для отображения данных и т.д. Это работает.

Теперь я пытаюсь добавить поддержку, чтобы пользователь мог щелкнуть элемент в отчете, и я могу открыть этот элемент в окне редактирования. Единственная проблема, с которой я сталкиваюсь, — это идентификация того, на что нажал пользователь.

Исправленный документ фиксирует щелчки мыши и игнорирует событие mouseclick, добавленное в текстовое поле.

Когда я добавляю текстовые поля, если я могу отслеживать фактические координаты добавленного элемента, я могу ссылаться на это с помощью кода в событии щелчка FixedDocument (поскольку у меня есть координаты или где пользователь щелкнул.)

Какой простой способ для меня получить ссылку на объект или информацию об элементе, по которому пользователь щелкнул?

Я попытался выполнить поиск, но, похоже, ничто не решало эту проблему, учитывая все поисковые термины, которые я мог придумать, используя.

Спасибо

Ответ №1:

Попробуйте прослушать PreviewMouseLeftButtonUp событие вашего фиксированного документа. Он предоставляет параметр MouseButtonEventArgs, из которого вы можете найти OriginalSource и сравнить его с вашим текстовым полем и выполнить необходимое действие.

Вы можете использовать любое другое событие предварительного просмотра с префиксом в своих интересах, где бы у вас ни возникла аналогичная потребность.

Комментарии:

1. Я использую это (чтобы я мог открыть элемент с помощью мыши), но могу ли я использовать это, чтобы позволить пользователю перетащить выбранный элемент в новое местоположение в FixedDocument? Если да, есть ли у вас ссылка на пример?