Question

J'utilise le RibbonControl de boîte à outils WPF. Il a le Bureau bleu, noir et argent thèmes. Mais le thème n'applique pas pour les commandes de la fenêtre. Y at-il une solution pour cela?

J'aplying le thème comme

 <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/RibbonControlsLibrary;component/Themes/Office2007Black.xaml"/>
 </ResourceDictionary.MergedDictionaries>

Mais les contrôles sont comme bouton, zone de texte ne sont pas chaged.

Était-ce utile?

La solution

Vous avez besoin d'un dictionnaire de ressources distinct pour fournir des styles WPF à divers contrôles. J'ai créé mon propre, en échantillonnant les couleurs sur différentes applications. Il est vraiment pas très difficile à faire, et il m'a fallu coshe quelques heures.

Si vous êtes à la recherche d'une solution rapide et facile, essayez le WPF Thèmes . Le Bureau thème bleu semble à peu près comme Office 2007 bleu.

Autres conseils

Comment essayez-vous d'appliquer le thème? Demandez-vous dans votre app.xaml (quelque chose comme ci-dessous)?

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/PresentationFramework.Aero,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
    <ResourceDictionary Source="/WPFToolkit;V3.5.31016.1;component/DataGrid/Themes/Aero.NormalColor.xaml" />
</ResourceDictionary.MergedDictionaries>

J'ai essayé de réutiliser les ressources qui sont définies dans le RibbonControlsLibrary.dll afin que je puisse appliquer un style similaire au reste de ma demande. Après des heures de recherche et tripoter, ce que je compris:

<Rectangle Stroke="Black" StrokeThickness="2" RadiusX="6" RadiusY="6" HorizontalAlignment="Stretch" Width="Auto" Grid.RowSpan="3" Grid.ColumnSpan="3"
Fill="{DynamicResource {x:Static r:RibbonSkinResources.RibbonBackgroundBrushKey}}" />

J'ai eu l'idée en regardant ce que les clés du dictionnaire des ressources ont été et regarder cet article: Comment puis-je obtenir la ressource réelle d'un ComponentResourceKey?

Cette méthode me permet de créer d'autres styles qui auront la même apparence et se sentir comme la peau du ruban sélectionné. Modification de la peau recoiffer les autres aspects de l'application, comme des boutons, etc ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top