2013-07-05 11 views
7

Cerco di personalizzare System.Windows.Controls.Ribbon da .Net Framework 4.5 in modo che possa essere utilizzato con il tema Expression Dark (colori scuri come in tema predefinito della miscela). Ho provato seguendo le idee, ma fino ad ora senza alcun progresso:Come personalizzare il nastro WPF 4.5 (stili, modelli, ecc.)

  • cambiare lo sfondo del nastro: cambierà solo il principale colori, ma lascia tutti gli altri colori lucidi, evidenziare Colos ecc
  • cambiare gli stili e i modelli: non sono riuscito a trovare alcun modello predefinito per la barra multifunzione 4.5. Ho provato a farli tramite strumenti come ShowMeTheTemplate, ma sembra che usano alcune classi interne.
  • personalizzazione dei modelli con Blend per VS2012: ottengo sempre un errore "Copia modello non riuscita."
  • utilizzare il nastro .net 4 dal RibbonControlLibrary: il RibbonWindow sembra brutto in Windows 8 (vedi WPF RibbonWindow + Windows 8 - control box looks bad), che non riesco a risolvere

Qualsiasi aiuto sarebbe apprezzato, tutti i suggerimenti sono i benvenuti.

risposta

2

È possibile modificare un paio di colori impostando le proprietà della barra multifunzione:

<ribbon:Ribbon x:Name="Ribbon" 
        Background="Khaki" 
        BorderBrush="Brown" 
        MouseOverBackground="LightCoral" 
        MouseOverBorderBrush="Coral" 
        PressedBackground="LightGreen" 
        PressedBorderBrush="Green" 
        CheckedBackground="LightBlue" 
        CheckedBorderBrush="Blue" 
        FocusedBackground="LightSlateGray" 
        FocusedBorderBrush="SlateBlue"> 

Non esattamente un esempio di bell'aspetto, ma mostra come farlo.

sarebbe interessato come fare un completo re-styling così ...

+0

meglio di niente ;-) – peter70

2

sono stato in grado di estrarre un modello completamente funzionante utilizzando Show me the templates. Per fare ciò l'ho modificato per estrarre i modelli da "System.Windows.Controls.Ribbon" (piuttosto che dal main framework assembly).

Mi dà la seguente:

https://gist.github.com/drayde/75526b570a266f5f8f38 (troppo lungo per incollare qui)

Basta aggiungere questo alle risorse e utilizzare in questo modo:

<Ribbon Template="{StaticResource ribbonTemplate}"> 
     ... 
    </Ribbon> 

Modificando il modello che si dovrebbe avere il pieno controllo su come viene visualizzato il nastro.