Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 19503|Resposta: 1

[WPF] Deixe seu programa WPF renderizar temas no estilo Win8 em Win7

[Copiar link]
Publicado em 08/12/2015 16:22:51 | | | |


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:


  1. protected override void OnStartup(StartupEventArgs e)
  2.     {
  3.         var uri = new Uri("/PresentationFramework.AeroLite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35;component/themes/AeroLite.NormalColor.xaml", UriKind.Relative);
  4.         App.Current.Resources.Source = uri;
  5.         base.OnStartup(e);
  6.     }
Copiar código






Anterior:.net implementa um servidor web simples usando o HttpListener
Próximo:Parece que este lugar não é atualizado há muito tempo, e vou atualizar a linguagem C todos os dias daqui para frente.
 Senhorio| Publicado em 08/12/2015 16:23:23 |
Isso é. O programa .Net 4.5 que vem com o Net Framework pode ser usado copiando o código que escrevi acima.
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com