WPF WPF 테마를 추가하여 데스크톱 응용 프로그램의 스타일을 지정하는 방법
페이지 정보
작성자 GrapeCity 작성일 2022-12-27 15:09 조회 822회 댓글 0건본문
관련링크
테마를 통해 전문적이고 결합된 모습의 전체 응용 프로그램의 스타일을 빠르게 지정할 수 있습니다. 코드 한 줄만으로 ComponentOne WPF 테마를 전체 데스크톱 응용 프로그램에 적용할 수 있습니다. 또는 테마 컴포넌트를 XAML에 끌어서 놓으면 됩니다.
ComponentOne WPF Edition에는 22개의 전문 테마가 제공됩니다. 다음에서는 Microsoft Office, Material 디자인 및 Windows 11에서 영향을 받은 스타일을 포함하여 사용 가능한 WPF 테마를 살펴볼 수 있습니다.
Microsoft Office 화이트 테마
ComponentOne WPF 테마를 적용하는 세 가지 방법
WPF에 테마를 적용하는 것은 매우 쉬우며 여기에는 세 가지의 다양한 접근 방법이 있습니다. 테마를 적용하는 가장 쉬운 방법은 C1 테마 태그에서 XAML 루트 요소를 줄 바꿈하는 것입니다.
<c1:C1ThemeMaterial xmlns:c1="http://schemas.componentone.com/winfx/2006/xaml"> <!-- Content --> </c1:C1ThemeMaterial>
코드별로 테마를 적용할 수도 있습니다. 예를 들어 MainWindow.xaml.cs에서 테마를 인스턴스화하고 아래 코드에서처럼 Apply 메서드를 사용하여 특정 FrameworkElement(즉, 단일 컨트롤) 또는 전체 창에 테마를 지정할 수 있습니다.
C1.WPF.Themes.C1ThemeCosmopolitan myTheme = new C1.WPF.Themes.C1ThemeCosmopolitan(); myTheme.Apply(this); // applies theme to entire window
또는 응용 프로그램의 병합된 사전 리소스에 추가하여 전체 응용 프로그램에 테마를 원활하게 적용할 수도 있습니다.
Application.Current.Resources.MergedDictionaries. Add(C1.WPF.Theming.C1Theme.GetCurrentThemeResources(new C1.WPF.Theming.BureauBlack.C1ThemeBureauBlack()));
이 메서드는 처음으로 테마를 적용하는 경우에만 해당됩니다. 런타임 시 또 다른 테마로 변경하는 경우 병합된 사전에서 먼저 이전 테마를 제거해야 합니다.
XAML 별로 ComponentOne WPF 테마를 추가하는 단계
NuGet에서 C1.WPF.Themes 패키지를 다운로드하거나 샘플을 받도록 C1ControlPanel을 사용하여 라이브러리를 설치할 수 있습니다. ComponentOne WPF 테마는 도구 상자에 설치하지 않지만 XAML에서 쉽게 계속 만들 수 있습니다. 단계는 다음과 같습니다.
- ComponentOne 컨트롤을 포함하는 WPF 응용 프로그램을 엽니다.
- 참조를 C1.WPF.Theming 패키지에 추가합니다. - 여기에는 공통 테마 관련 로직이 포함됩니다.
- 참조를 하나 이상의 특정 테마 패키지에 추가합니다(예: C1.WPF.Theming.ExpressionDark).
다양한 테마를 여기에서 찾아볼 수 있습니다. - XAML 페이지에서 ComponentOne의 XML 네임스페이스가 정의되어 있는지 확인합니다. 그렇지 않은 경우 페이지 상단에 추가합니다(모든 ComponentOne 컨트롤에 대해 페이지당 한 번만 정의해야 합니다).
xmlns:c1="http://schemas.componentone.com/winfx/2006/xaml"
- 루트 요소에서 상위 태그를 만들고(예: Grid) 다음과 같이 태그를 입력합니다.
<c1:C1ThemeExpressionDark> ... </c1:C1ThemeExpressionDark>
ComponentOne WPF 테마를 사용자 정의하는 방법
WPF 컨트롤은 표준 .NET 컨트롤과 동일한 암시적 스타일 관리를 따릅니다. 즉, 공통 스타일을 정의하여 응용 프로그램 전체에서 다시 사용할 수 있습니다. 테마가 적용된 방식에 따라 테마 상단에 스타일을 적용할 수 있습니다. 테마를 사용자 정의하기에 가장 좋은 방법은 이전에 설명한 대로 병합된 사전을 통해 응용 프로그램 수준에서 테마를 설정하는 것입니다. 그런 다음 특정 페이지에서 로컬에 정의된 스타일은 이후에 적용됩니다.
이 접근 방법을 통해 처음부터 전체적으로 새 테마를 만들거나 새로운 접근 방법 스타일 지정 컨트롤을 배우지 않고도 ComponentOne WPF 테마를 쉽게 사용자 정의할 수 있습니다. 예를 들어 변경 사항을 적용하는 새로운 암시적 스타일을 정의하여 C1DockControl에 적용된 어떤 테마든 수정할 수 있습니다.
<UserControl.Resources> <Style TargetType="c1:C1DockControl"> <Setter Property="HeaderBackground" Value="Red" /> <Setter Property="TabControlBackground" Value="Maroon" /> </Style> </UserControl.Resources>
가장 일반적인 시나리오의 경우 위의 사항과 같이 Style setter로 전체 컨트롤의 테마를 다시 지정할 수 있습니다. ComponentOne WPF 컨트롤을 사용하면 복잡한 XAML 템플릿을 사용자 정의하지 않아도 되도록 컨트롤의 모든 부분에 대해 수많은 브러시 속성이 노출됩니다.
처음부터 ComponentOne 컨트롤의 자체 테마를 만들고 싶다면 필요한 각 컨트롤에 대해 일반적인 모든 .xaml 파일을 가져와 시작한 다음 XAML 요소를 직접 편집하거나 스타일을 만들 수 있습니다. 전체 WPF Edition을 설치하고 C:\Program Files (x86)\ComponentOne\WPF Edition\Resources에서 찾아 XAML 리소스 파일을 가져올 수 있습니다.
지금 바로 ComponentOne을 다운로드하여 직접 테스트해보세요!
댓글목록
등록된 댓글이 없습니다.