728x90
반응형
728x170
■ Application 클래스의 LoadComponent 정적 메소드를 사용해 리소스 딕셔너리 참조를 구하는 방법을 보여준다.
▶ MainDictionary.xaml
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<LinearGradientBrush x:Key="LinearGradientBrushKey"
StartPoint="0 0"
EndPoint="1 1">
<GradientStop Offset="0.25" Color="Red" />
<GradientStop Offset="0.75" Color="Blue" />
</LinearGradientBrush>
</ResourceDictionary>
▶ DictionaryHelper.cs
using System;
using System.Windows;
namespace TestProject
{
/// <summary>
/// 딕셔너리 헬퍼
/// </summary>
public static class DictionaryHelper
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 메인 딕셔너리
/// </summary>
private static ResourceDictionary _mainDictionary;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Property
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Public
#region 메인 딕셔너리 - MainDictionary
/// <summary>
/// 메인 딕셔너리
/// </summary>
public static ResourceDictionary MainDictionary
{
get
{
if (_mainDictionary == null)
{
Uri uri = new Uri("/TestProject;component/MainDictionary.xaml", UriKind.Relative);
_mainDictionary = (ResourceDictionary)Application.LoadComponent(uri);
}
return _mainDictionary;
}
}
#endregion
}
}
▶ MainWindow.xaml
<Window x:Class="TestProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="800"
Height="600"
Title="TestProject"
FontFamily="나눔고딕코딩"
FontSize="16">
<Ellipse Name="ellipse"
Width="300"
Height="300"
StrokeThickness="3"
Stroke="Black" />
</Window>
▶ MainWindow.xaml.cs
using System.Windows;
using System.Windows.Media;
namespace TestProject
{
/// <summary>
/// 메인 윈도우
/// </summary>
public partial class MainWindow : Window
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainWindow()
/// <summary>
/// 생성자
/// </summary>
public MainWindow()
{
InitializeComponent();
LinearGradientBrush brush = DictionaryHelper.MainDictionary["LinearGradientBrushKey"] as LinearGradientBrush;
this.ellipse.Fill = brush;
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] ControlTemplate 엘리먼트 : ComboBox 엘리먼트 정의하기 (0) | 2023.01.23 |
---|---|
[C#/WPF] ControlTemplate 엘리먼트 : CheckBox 엘리먼트 정의하기 (0) | 2023.01.23 |
[C#/WPF] ControlTemplate 엘리먼트 : Calendar 엘리먼트 정의하기 (0) | 2023.01.22 |
[C#/WPF] ControlTemplate 엘리먼트 : 비주얼 상태와 트리거를 사용해 Button 엘리먼트 정의하기 (0) | 2023.01.22 |
[C#/WPF] Control 클래스 : 사용자 지정 가능한 모양을 가진 컨트롤 만들기 (0) | 2023.01.21 |
[C#/WPF] ControlTemplate 엘리먼트 : 마우스 위치시 배경색이 변경되는 Button 엘리먼트 정의하기 (0) | 2023.01.20 |
[C#/WPF] HierarchicalDataTemplate 엘리먼트 : DataType 속성을 사용해 트리 만들기 (0) | 2023.01.20 |
[C#/WPF] ToolTipService 엘리먼트 : 툴팁 표시하기 (0) | 2023.01.19 |
[C#/WPF] ToolTip 엘리먼트 : Placement/PlacementRectangle 속성 사용하기 (0) | 2023.01.19 |
[C#/WPF] ToolBar 엘리먼트 : 내부 컨트롤 스타일 설정하기 (0) | 2023.01.19 |
댓글을 달아 주세요