WPF의 Windows 7 테마
WPF 앱이 XP에서 실행 중이라도 Windows 7에서 실행 중인 것처럼 보이게 하는 방법이 있습니까?그냥 붙일 수 있는 테마를 찾고 있어요.Codeplex의 테마 프로젝트(https://archive.codeplex.com/?p=wpftemes)는 알고 있습니다만, 서포트하고 있지 않습니다.DataGrid
그게 바로 제가 절실히 필요로 하는 겁니다Windows 7의 테마는 단순한 포트이거나 이미 파일 어딘가에 존재한다고 생각합니다.
갱신하다
@Lars Truijens 아이디어를 사용하여 Windows 7에서 주요 컨트롤을 찾을 수 있었지만 WPF 툴킷에서는 작동하지 않았습니다.DataGrid
제어가 필요해
DataGrid
Aero 테마에서는 이렇게 보입니다.
DataGrid
이렇게 생겼으면 좋겠다
그래서 저는 아직 이 문제에 대한 해결책을 찾고 있습니다.누군가가 WPF 툴킷 컨트롤을 커버하는 Aero 테마의 확장을 구축한 것은 아닐까요?다시 한 번 말씀드리지만, 어떤 정보라도 감사합니다.
업데이트 2 - DataGrid 문제 해결!
Aero 테마를 DataGrid 또는 다른 WPF Toolkit 컨트롤과 함께 사용하려면 두 번째 Aero 사전을 추가하면 App.xaml이 이렇게 표시됩니다.
<Application.Resources>
...
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary
Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml" />
<ResourceDictionary
Source="pack://application:,,,/WPFToolkit;component/Themes/Aero.NormalColor.xaml" />
...
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
또한, 나는 당신의 격자선을 끄는 것을 추천한다.DataGrid
컨트롤(외관이 끔찍하기 때문에):
<DataGrid GridLinesVisibility="None" ...>
WPF에는 모든 Windows 버전에 표준 Windows 테마가 포함되어 있습니다.예를 들어, Windows XP 에서는, 다음의 순서로 Aero 테마(Vista 와 Windows 7 의 사용)를 설정할 수 있습니다.
- Presentation Framework를 추가합니다.필요에 따라 응용 프로그램 참조 목록에 Aero 표시
- App.xaml 편집
이것으로부터
<Application.Resources>
<!-- Your stuff here -->
</Application.Resources>
여기에
<Application.Resources>
<ResourceDictionary>
<!-- Put your stuff here instead -->
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
출처: http://mrpmorris.blogspot.com/2008/05/using-vista-aero-theme-in-xp-wpf-apps.html
기타 다른 대안:필요에 따라 해당 어셈블리를 응용 프로그램의 참조 목록에 추가하십시오.
<ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml"/>
<ResourceDictionary Source="/PresentationFramework.Classic;component/themes/Classic.xaml"/>
<ResourceDictionary Source="/PresentationFramework.Royale;component/themes/Royale.NormalColor.xaml"/>
<ResourceDictionary Source="/PresentationFramework.Luna.Homestead;component/themes/Luna.Homestead.xaml"/>
<ResourceDictionary Source="/PresentationFramework.Luna.Metallic;component/themes/Luna.Metallic.xaml"/>
<ResourceDictionary Source="/PresentationFramework.Zune;component/themes/Zune.NormalColor.xaml"/>
Lars의 답변과 DanM의 업데이트에 추가:
배포할 때 aero Dll을 설치 디렉토리에 추가해야 합니다.
Presentation Framework 속성으로 이동하면 됩니다.참조 및 설정에 추가한 AeroCopyLocal=True
그 후 사용하고 있는 전개 툴(WIX가 마음에 들어...)로 이동하여 전개된 파일 목록에 추가해야 합니다.
솔루션/프로젝트 속성으로 이동하여 "References" 아래에서 Presentation Framework에 대한 참조를 추가할 수 있습니다.Aero... 코드에 적용하면 잘 작동합니다.
내 대답이 너에게 도움이 되었으면 좋겠다.
언급URL : https://stackoverflow.com/questions/2075720/windows-7-theme-for-wpf
'programing' 카테고리의 다른 글
bash에서 $@에서 첫 번째 요소 제거 (0) | 2023.04.12 |
---|---|
bash는 함수의 정의를 표시할 수 있습니까? (0) | 2023.04.12 |
Postgresql에서 두 열의 조합에 대해 고유한 강제 적용 (0) | 2023.04.12 |
Git의 리모트 브랜치 추적을 중지하려면 어떻게 해야 합니까? (0) | 2023.04.12 |
Array Excel VBA 요소의 반환 색인 (0) | 2023.04.12 |