/ / Dostęp do elementów wstążki programowo w wstążce XML - c #, outlook, ms-office, office-addins

Dostęp do elementów wstążki programowo w wstążce XML - c #, outlook, ms-office, office-addins

Wydaje się, że zadawano to tutaj kilka razy bez prawdziwej odpowiedzi:

Programowy dostęp do kontrolek wstążki w wstążce XML

Wstążka pakietu Office: jak uzyskać dostęp do kontrolki, gdy wstążka została utworzona przy użyciu XML

Jeśli wstążka jest tworzona przy użyciu xml wstążki, do tej poryjak mogę powiedzieć, nie ma programowej ekspozycji komponentów zdefiniowanych w tym xml. Jedynym oczywistym ograniczonym sposobem zmiany stanu tych komponentów jest użycie czegoś takiego jak zdarzenie onAction, getContent, getImage, a element IRibbonControl oferuje niewiele do manipulowania danym elementem (nie wspominając, że większość z tych funkcji działa tylko raz , przy pierwszym renderowaniu).

Próbuję więc znaleźć sposób na programowy dostęp do tych elementów wstążki XML.

Odpowiedzi:

7 dla odpowiedzi № 1

Nie ma możliwości programowego dostępu do elementów wstążki podczas korzystania ze wstążki XML. Jeśli chcesz zmienić stan kontrolek Wstążki - musisz użyć IRibbonUI.Invalidate() aby wymusić nowe renderowanie układu (potencjalnie wykorzystując właściwości, które wyzwalają różne zachowania podczas renderowania poprzez wywołania zwrotne). Może to być dobre, ponieważ masz większą kontrolę nad rysowaniem, jeśli zmieniasz stan wielu elementów.

Widzieć powiązany post SO na temat aktualizacji stanu kontroli interfejsu wstążki.

Jeśli chcesz zautomatyzowany dostęp do elementów wstążki, powinieneś użyć Projektant wstążki. Jednak jako podany w MSDN, projektant nie obsługuje wszystkich dostosowań. Niektóre spekuluj, że projektant po prostu otacza Ribbon XML dla ciebie pod maską.

Musisz tylko nauczyć się mechanizm zwrotny wykorzystywany przez XML wstążki - nie ma drzewa kontrolnego, do którego można uzyskać dostęp.