2012-11-01 16 views
14

Sto cercando di cambiare il tema del nuovo WPF Ribbon Control da .NET Framework 4.5 e sono bloccato.Cambia tema di .NET 4.5 WPF Ribbon

Sono riuscito a modificare solo alcuni pennelli (Sfondo, Primo piano, Bordo ...) ma non riesco a modificare la sovrapposizione e le ombre luminose.

Sono felice di utilizzare un dizionario delle risorse ma non so quali proprietà devo impostare.

Spero che tu possa indicarmi la giusta direzione, grazie mille per il vostro aiuto!

+0

Questo è correlato btw, http://stackoverflow.com/questions/12511416/window-style-with-wpf-ribbon-from-microsoft-doesnt-match-windows-8-style?rq=1 – Patrick

+0

mai capirlo? – BrainSlugs83

risposta

-5

Ci sono due temi per quanto ne so, uno è per "Windows 7 (predefinito)" e l'altro è per "Office 2007 Blue". È possibile cambiare il tema con l'aggiunta di un dictionay resouce per resouces della finestra la cui fonte è il file XAML dell'ufficio 2007 Blu, come segue:

<Window.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary 
      Source="/RibbonControlsLibrary;component/Themes/Office2007Blue.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
    </Window.Resources> 

è possibile copiare l'Office2007Blue.xaml in un nuovo file XAML e modificarlo per creare un tema personalizzato, quindi fare riferimento a esso seguendo la stessa procedura di cui sopra.

Si potrebbe ottenere di più su nastro from here.

E se si desidera una soluzione semplice e veloce quindi provare questo pronto WPF Themes.

+3

Ho provato a farlo ma ** non funziona ** con la barra multifunzione da .NET 4.5 WPF – user667967

+0

Per questo è necessario un dizionario di risorse separato per fornire gli stili WPF a vari controlli. Dimmi che eccezione stai affrontando esattamente. –

+1

Non ho la "RibbonControlsLibrary". Io uso [System.Windows.Controls.Ribbon] (http://msdn.microsoft.com/en-us/library/system.windows.controls.ribbon.ribbon.aspx). Ho anche provato ExpressionDark.xaml e co, ma non cambiano i colori del nastro. – user667967

0

Per chiunque imbattersi in questo, si poteva guardare i controlli di terze parti come: Syncfusion's Ribbon (sguardi come il tema dell'ufficio)

1

Se si desidera modificare qualcosa di più delle proprietà esposte del controllo Ribbon (o di qualsiasi altro controllo) ad es. Sfondo, Primo piano ecc. Dovrai modificare il modello del controllo.

Nel modello di un controllo è possibile modificare quasi tutto ciò che fa parte dell'aspetto visivo del controllo.

Per ulteriori informazioni sulla personalizzazione del modello di un controllo uno sguardo su questo link: MSDN Styling & Templating

0

è abbastanza semplice, in App.xaml è possibile definire un tema e assegnare questo tema a qualsiasi controllo che si desidera. per esempio avevo definito Office_Blue come il mio tema e assegnato questo tema solo per il mio Tasti presenti solo come di seguito:

<Application.Resources> 

    <telerik:Theme x:Key="TelerikGlobalTheme">Office_Blue</telerik:Theme> 
     <Style BasedOn="{x:Null}" TargetType="{x:Type Button}"> 
     <Setter Property="telerik:StyleManager.Theme" Value="{DynamicResource TelerikGlobalTheme}" /> 
     </Style> 

è possibile assegnare tutti i controlli che si desidera che il tema definito come sopra.