Для аналогичного поведения, например, для элементов управления, привязанных к свойствам объекта, для любого типа вы можете реализовать одни и те же интерфейсы.
Исходя из этой мысли, вы можете создать подкласс ToolStripButton ( или желаемый тип для привязки ) и реализовать IBindableComponent
для него.Это работает для всех типов исходных и целевых типов, если они не sealed
.Например, кнопка панели инструментов:
public class BindableToolStripButton : ToolStripButton, IBindableComponent {
//...
Это приведет к тому, что BindableToolStripButton будет иметь свое собственное свойство .DataBindings
, тогда как базовый класс ToolStripButton не имеет такого свойства.
Youпотребуется заполнить детали реализации, используя примеры, показанные здесь от Microsoft для ISite , IBindableComponent , IComponent и любых унаследованных интерфейсов.
Затем вы добавите Связывающие экземпляры к любому экземпляру BindableToolStripButton.
(Примечание: у меня есть только fragements, поэтому я сделаю свою первую публикацию в вики сообщества - и мы увидимчто идет ...)