Обычный способ сделать это, чтобы содержать ваш GridView в UserControl
Если вы поместите сетку на пользовательский элемент управления, а также подписаться на все события там, то вы можете повторно использовать эту реализацию в любом месте вы хотите в приложение - вы, по сути, просто обертываете пользовательский элемент управления нужной вам функциональностью, а затем снова используете эту оболочку.
Приятная вещь состоит в том, что вам нужно только написать код подключения один раз.
Это то, что я думаю, вы хотите сделать.
Если вы хотите продлить или обработать эти события вне пользовательского контроля, вам придется их повторно реализовать (т. Е. Добавить свои собственные обработчики событий и позволить этим пузырям).
Вы не можете заставить кого-либо подписаться на ваши мероприятия.
Если вы хотите принудительно выполнить реализацию событий, то вы можете поместить события на интерфейс и реализовать этот интерфейс для класса или элемента управления, в который вы его добавили. Поскольку события находятся на интерфейсе, вы не сможете скомпилировать, пока интерфейс не будет имплантирован.
Если у вас есть конкретный вариант использования, я могу попытаться добавить пример.
Затем как заставить каждую страницу, использующую этот элемент управления, реализовать все события? Я бы поставил аналогичные функции, не относящиеся к этому элементу управления, в этом новом пользовательском элементе управления? – duckmike
Страница не нуждается в реализации этих событий; ему просто нужно подписаться на них. Вы не можете заставить кого-то подписаться на мероприятие. Если вы хотите, чтобы эти события были всегда реализованы, вы делаете это в своем usercontrol, но это действительно зависит от того, что вы хотите сделать. – dash
вы можете указать ссылку, которая реализовала обертку gridview в usercontrol? Спасибо – Pankaj