Hoje, quando usei um programa WPF que escrevi antes no Win8, descobri que os efeitos do Win8 agora são suportados (lembre-se que a versão anterior do .NET 4.0 não era suportada). Como os controles do WPF são desenhados por eles mesmos e não controlados pelo tema do sistema, ou seja, o .NET 4.5 vem com arquivos no estilo tema Win8, e faz sentido que esse estilo também possa ser usado no Win7.
Eu coloquei . Vários caminhos tópicos suportados pela Net 4.5 são extraídos da seguinte forma:
Win8(AeroLite): /PresentationFramework.AeroLite, Version=4.0.0.0, Culture=neutro, PublicKeyToken=31bf3856ad364e35; component/themes/aerolite.normalcolor.xaml Win7 (Aero): /PresentationFramework.Aero, Version=4.0.0.0, Culture=neutro, PublicKeyToken=31bf3856ad364e35; component/themes/aero.normalcolor.xaml WinXP Royale: /PresentationFramework.Royale, versão=4.0.0.0, cultura=neutro, PublicKeyToken=31bf3856ad364e35; component/themes/royale.normalcolor.xaml WinXP Blue (Luna): /PresentationFramework.Luna, versão=4.0.0.0, culture=neutro, PublicKeyToken=31bf3856ad364e35; component/themes/luna.normalcolor.xaml WinXP Silver (Luna): /PresentationFramework.Luna, Version=4.0.0.0, Culture=neutro, PublicKeyToken=31bf3856ad364e35; component/themes/luna.metallic.xaml WinXP Luna: /PresentationFramework.Luna, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; component/temas /luna.homestead.xaml Win98(Clássico): /PresentationFramework. Classic, Version=4.0.0.0, Culture=neutro, PublicKeyToken=31bf3856ad364e35; component/temas /classic.xaml Nota: Estou fazendo o . Caminho de arquivo no estilo Net 4.5, outros. O caminho da versão Net pode ser um pouco diferente, mas basicamente aparece quando você usa o ILSpy para vê-lo.
Com esses caminhos de estilo, você pode aplicar o estilo global na inicialização para renderizar o efeito AeroLite do Win8 no Win7:
- protected override void OnStartup(StartupEventArgs e)
- {
- var uri = new Uri("/PresentationFramework.AeroLite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35;component/themes/AeroLite.NormalColor.xaml", UriKind.Relative);
- App.Current.Resources.Source = uri;
- base.OnStartup(e);
- }
Copiar código
|