오늘, 전에 작성했던 WPF 프로그램을 Win8에서 사용해보니 Win8 효과가 이제 지원된다는 것을 알게 되었습니다(이전 버전의 .NET 4.0은 지원되지 않았던 점을 기억하세요). WPF의 컨트롤은 시스템 테마에 의해 제어되지 않고 자체 그리기 때문에, .NET 4.5에는 Win8 테마 스타일 파일이 포함되어 있으며, 이 스타일은 Win7에서도 사용할 수 있을 것으로 보입니다.
나는 . Net 4.5에서 지원하는 여러 주제 경로는 다음과 같이 추출됩니다:
Win8(AeroLite): /PresentationFramework.AeroLite, 버전=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes/aerolite.normalcolor.xaml Win7 (Aero): /PresentationFramework.Aero, 버전=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes/aero.normalcolor.xaml WinXP Royale: /PresentationFramework.Royale, version=4.0.0.0, culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes/royale.normalcolor.xaml WinXP Blue (Luna): /PresentationFramework.Luna, 버전=4.0.0.0, culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes/luna.normalcolor.xaml WinXP Silver (Luna): /PresentationFramework.Luna, 버전=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes/luna.metallic.xaml WinXP Luna: /PresentationFramework.Luna, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; Component/themes /luna.homestead.xaml Win98(클래식): /PresentationFramework. 클래식, 버전=4.0.0.0, 문화=중립, PublicKeyToken=31bf3856ad364e35; 컴포넌트/테마 /classic.xaml 참고: 저는 . 넷 4.5 스타일 파일 경로, 기타 등. Net 버전의 경로는 약간 다를 수 있지만, 기본적으로 ILSpy를 사용해 볼 때 나타납니다.
이 스타일 경로를 통해 시작 시 글로벌 스타일을 적용해 Win8의 AeroLite 효과를 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);
- }
코드 복사
|