In base a questo MSDN page, se stavo usando Window, potrei disabilitare la casella di controllo nell'angolo in alto a sinistra impostandola su false. Come questo: this.ControlBox = false;
Come rimuovere il menu di sistema in WPF?
Il ControlBox ha Ingrandisci, Riduci a icona, Ripristina e Chiudi opzioni
Ma dal momento che sto usando RibbonWindow al posto di Window, come avrei disattivare la casella di controllo in questa situazione?
This question è molto correlato, ma sto cercando di disattivare il MenuMenu tutto il tempo, non solo per impedire Alt + Spazio. Questo perché (penso) l'action listener per il SystemMenu nell'angolo in alto a sinistra blocca un elemento dell'interfaccia utente cliccabile nel mio XAML.
Si noti che questo non è un problema con Windows Server 2003, ma quando l'applicazione viene aperta in Windows 7, SystemMenu/ControlBox interferisce con l'elemento dell'interfaccia utente nell'angolo in alto a sinistra.
Inoltre, ho riscontrato che interferendo con il menu di sistema di solito i pulsanti nell'angolo in alto a destra dell'applicazione vengono disattivati, ma non voglio che ciò accada.
Grazie per il link Eammonn. Penso che quello che quella persona stava cercando di fare è disabilitare il pulsante [X] nell'angolo in alto a destra, non il menu nell'angolo in alto a sinistra, ma potrei sbagliarmi. Il motivo per cui non penso che funzionerà è che stanno usando <Window x:Class=
e sto usando <dc:RibbonWindow x:Class=
. Questo fa la differenza?
Da dove proviene RibbonWindow (conosco almeno 2 diverse librerie che forniscono questo, mi chiedo solo quale si sta utilizzando). – CodingGorilla
Microsoft.Windows.Control.Ribbon.RibbonWindow –
La risposta di Eamonn dovrebbe funzionare anche per RibbonWindow, in quanto è solo un'estensione di Window. Office 2010 ha reintrodotto la casella di controllo (con l'icona). Office 2007 lo aveva nascosto, a favore del globo. Ciò interferisce con il globo o la barra degli strumenti di accesso rapido? – CodeNaked