728x90
반응형
728x170
▶ 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="DrawingContext 클래스 : DrawDrawing 메소드를 사용해 드로잉 그리기"
Background="Transparent">
<Grid Name="grid" >
</Grid>
</Window>
▶ MainWindow.xaml.cs
using System.Windows;
using System.Windows.Media;
namespace TestProject
{
/// <summary>
/// 메인 윈도우
/// </summary>
public partial class MainWindow : Window
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 펜
/// </summary>
private Pen pen;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainWindow()
/// <summary>
/// 생성자
/// </summary>
public MainWindow()
{
InitializeComponent();
this.pen = new Pen(Brushes.Blue, 10);
this.pen.Freeze();
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Protected
#region 렌더링시 처리하기 - OnRender(drawingContext)
/// <summary>
/// 렌더링시 처리하기
/// </summary>
/// <param name="drawingContext">그리기 컨텍스트</param>
protected override void OnRender(DrawingContext drawingContext)
{
drawingContext.DrawRectangle
(
Brushes.White,
null,
new Rect
(
0,
0,
this.grid.ActualWidth,
this.grid.ActualHeight
)
);
EllipseGeometry ellipseGeometry = new EllipseGeometry();
ellipseGeometry.Center = new Point(this.grid.ActualWidth / 2, this.grid.ActualHeight / 2);
ellipseGeometry.RadiusX = 200;
ellipseGeometry.RadiusY = 200;
GeometryDrawing geometryDrawing = new GeometryDrawing();
geometryDrawing.Pen = this.pen;
geometryDrawing.Brush = Brushes.Red;
geometryDrawing.Geometry = ellipseGeometry;
drawingContext.DrawDrawing(geometryDrawing);
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] DoubleAnimation 클래스 : 사각형 높이 변경하기 (0) | 2020.09.11 |
---|---|
[C#/WPF] Storyboard 클래스 : Begin/Pause/Resume/SkipToFill/SetSpeedRatio/Stop 메소드 사용하기 (0) | 2020.09.11 |
[C#/WPF] TreeView 엘리먼트 : AlternationConverter 객체를 사용해 트리 뷰 항목 배경색/폰트 스타일 설정하기 (0) | 2020.09.11 |
[C#/WPF] VisualBrush 엘리먼트 : 엘리먼트 반사 그림자 이미지 만들기 (0) | 2020.09.11 |
[C#/WPF] DrawingBrush 엘리먼트 : Drawing 속성을 사용해 물고기 브러시 만들기 (0) | 2020.09.11 |
[C#/WPF] DrawingContext 클래스 : DrawImage 메소드를 사용해 이미지 그리기 (0) | 2020.09.11 |
[C#/WPF] DrawingContext 클래스 : DrawGeometry 메소드를 사용해 지오메트리 그리기 (0) | 2020.09.11 |
[C#/WPF] ControlTemplate 엘리먼트 : 가로 방향 ListBox 엘리먼트 정의하기 (0) | 2020.09.11 |
[C#/WPF] ControlTemplate 엘리먼트 : 라운드 사각형 TabControl 엘리먼트 정의하기 (0) | 2020.09.11 |
[C#/WPF] ControlTemplate 엘리먼트 : 사각형 탭 헤더를 갖는 TabControl 엘리먼트 정의하기 (0) | 2020.09.11 |
댓글을 달아 주세요