2024. 6. 28. 15:09ㆍ젬스it
WPF(Windows Presentation Foundation)에서 테마를 추가하는 방법은 다음과 같습니다:
프로젝트 생성:
새 WPF 프로젝트를 만듭니다. 프로젝트 이름은 “WpfTheme” 등으로 설정합니다.
MainWindow.xaml 작성:
MainWindow.xaml 파일을 열고 아래와 같이 버튼을 추가합니다:
<Window x:Class="WpfTheme.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Button Content="테마에 따른 배경색 변경" Width="150" Height="50"></Button>
</Grid>
</Window>
App.xaml 설정:
App.xaml 파일을 열고 아래와 같이 리소스 딕셔너리를 추가합니다:
<Application x:Class="WpfTheme.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="{ThemeDictionary WpfTheme}" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
Themes 폴더 생성:
프로젝트 폴더에 “Themes” 폴더를 만듭니다. 이 폴더는 WPF에서 기본적으로 테마를 관리하는 폴더로 인식됩니다.
테마 리소스 추가:
“Themes” 폴더에서 새 항목을 추가하고 리소스 이름을 Aero.NormalColor.xaml, Classic.xaml, Generic.xaml로 설정합니다.
각 리소스 파일에는 버튼 배경색을 다르게 설정하는 스타일을 추가합니다. 예를 들어:
<!-- Aero.NormalColor.xaml -->
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="Green" />
</Style>
</ResourceDictionary>
<!-- Classic.xaml -->
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="Yellow" />
</Style>
</ResourceDictionary>
<!-- Generic.xaml -->
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="Blue" />
</Style>
</ResourceDictionary>
테마 테스트:
프로젝트를 빌드하고 실행합니다.
현재 시스템 테마에 따라 버튼 배경색이 변경됩니다.
테마에 맞는 UI 구현을 위해 위 방법을 응용할 수 있습니다
'젬스it' 카테고리의 다른 글
jeus 버전별 jdk 확인 (0) | 2024.08.03 |
---|---|
elasticsearch 에서 사용하는 scroll contexts 는 무엇을 의미하나요? (0) | 2024.07.19 |
wix tooset 이 설치가 되지 않을때 조치방법은? (0) | 2024.06.13 |
ms-sql에 있는 rtf데이터를 mysql에서 인식할수 있는 데이터로 변환하기 (0) | 2024.05.29 |
MSSQL 테이블 데이터를 .sql 스크립트로 MySQL로 가져오기 (0) | 2024.05.28 |