Domanda

Questo sembra essere stato chiesto più volte qui senza una vera risposta:

Accesso ai controlli del nastro in modo programmatico in un nastro XML

Office Ribbon: come accedere a un controllo quando il nastro è stato creato utilizzando XML

Se un nastro viene creato usando il nastro XML, per quanto posso dire, non vi è alcuna esposizione programmatica dei componenti definiti in quel XML. L'unico ovvio modo limitato per cambiare lo stato di questi componenti è quello di usare qualcosa come un evento Onaction, GetContent, GetImage e l'elemento IribbonControl offre ben poco per manipolare l'elemento in questione (per non parlare, la maggior parte di queste funzioni funziona solo una volta , quando reso per la prima volta).

Quindi sto cercando di trovare un modo per accedere a quegli elementi a nastro XML.

È stato utile?

Soluzione

Non c'è modo di accedere a un nastro a livello di programmazione quando si utilizza il nastro XML. Se vuoi cambiare lo stato dei controlli del nastro, è necessario utilizzare IRibbonUI.Invalidate() forzare un nuovo rendering del layout (potenzialmente usando proprietà che innescano comportamenti diversi al tempo di rendering tramite callbacks). Questa può essere una buona cosa in quanto hai più controllo su quando si verifica il disegno se si cambia lo stato di più elementi.

Vedere correlato quindi post All'aggiornamento dello stato di controllo dell'interfaccia utente del nastro.

Se si desidera l'accesso programmatico agli elementi del nastro, è necessario utilizzare il Designer di nastri. Tuttavia, come dichiarato su msdn, il designer non supporta tutte le personalizzazioni. Alcuni ipotizzare che il designer avvolge il nastro XML Per te sotto il cofano.

Devi solo imparare il Meccanismo di callback utilizzato dal nastro XML - Non c'è albero di controllo a cui accedere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top