Aplicar temas do Office 2007 para o aplicativo WPF

9

Estou usando o RibbonControl do kit de ferramentas do WPF. Tem os temas Office Blue, Black e Silver. Mas o tema não se aplica aos controles na janela. Existe alguma solução para isso?

Estou aplicando o tema como

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

Mas os controles são como botão, a caixa de texto não é ativada.

    
por Sauron 30.09.2009 в 13:16
fonte

3 respostas

3

Você precisa de um dicionário de recursos separado para fornecer estilos WPF a vários controles. Eu criei o meu próprio, por amostragem das cores em vários aplicativos. Realmente não é muito difícil de fazer, e olny me levou algumas horas.

Se você está procurando uma solução rápida e fácil, tente os Temas do WPF . O tema do Bureau Blue se parece muito com o Office 2007 blue.

    
por David Veeneman 02.10.2009 / 18:54
fonte
0

Como você está tentando aplicar o tema? Você está aplicando no seu app.xaml (algo como o abaixo)?

<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>
    
por viggity 30.09.2009 / 23:48
fonte
0

Eu tenho tentado reutilizar os recursos que estão definidos no RibbonControlsLibrary.dll para que eu possa aplicar um estilo semelhante ao resto do meu aplicativo. Depois de horas pesquisando e mexendo, foi isso que percebi:

<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}}" />

Eu tive a ideia de ver quais eram as chaves no dicionário de recursos e observar este artigo: Como posso obter o recurso real de um ComponentResourceKey? / a>

Esse método permite criar outros estilos que terão a mesma aparência da camada de fita selecionada. Mudar a pele irá restilar os outros aspectos da aplicação, como botões, etc ...

    
por Luke Machowski 10.03.2010 / 12:52
fonte