Доступ к элементам ленты карточки
RibbonControl
, доступ к которой обеспечивает одноименное свойство класса ICustomizableControl
:RibbonControl ribbonControl = (CardControl as ICustomizableControl).RibbonControl;
Класс RibbonControl
предоставляет доступ к существующим элементам ленты (страницы, группы и элементы), а также позволяет добавлять новые.
В качестве примера использования данной сущности можно рассмотреть сценарий добавления на ленту карточки новой кнопки на страницу Документ в группу Общие.
-
При загрузке карточки,
-
Если соблюдены определённые условия.
-
Если выполняются определённые действия с карточкой.
-
Если выполняется иная бизнес-логика. В приведенном далее примере добавление нового элемента — кнопки, выполняется при загрузке карточки.
private void CardDocument_CardLoaded(System.Object sender, System.EventArgs e) (1)
{
ICustomizableControl customizable = this.CardControl as ICustomizableControl; (2)
if (customizable != null)
{
DevExpress.XtraBars.BarButtonItem button = new DevExpress.XtraBars.BarButtonItem(customizable.BarManager, "Новая кнопка"); (3)
button.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(MyRibbonButton_ItemClick); (4)
customizable.RibbonControl.Pages["Документ"].Groups["commonActionsRibbonPageGroup"].ItemLinks.Add(button); (5)
}
}
private void MyRibbonButton_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) (6)
{
MessageBox.Show("Выполняется сценарий нажатия кнопки 'Новая кнопка'");
}
1 | Обработчик загрузки карточки нужно добавить через Конструктор разметок. |
2 | Получение доступа к элементам разметки. |
3 | Создание кнопки. |
4 | Обработчик нажатия. |
5 | Добавление кнопки на ленту.
Обратите внимание, что доступ к определённой странице осуществляется по отображаемому на ней тексту, а к группе элементов — по названию. Название и текст элементов задаются при добавлении через "Конструктор разметок", а для стандартных (как в примере) сущностей данные параметры можно получить, к примеру, предварительно перебрав их через |
6 | Обработчик нажатия добавленной кнопки. |