[글쓴이:] <span>ssw3001</span>

[글쓴이:] ssw3001

[WPF] Serializable 특성 사용하여 XML/JSON으로 저장하기

이번 글에서는 Serializable 특성 사용하여 XML, Json 파일로 저장해보도록 하겠습니다. 프로그램을 만들다 보면 이제 객체를 파일로 저장하거나 네트워크를 통해 전송해야할 일이 생깁니다. 이때 객체를 저장하거나 전송할 수 있는 데이터 형태로 …

[WPF] DependencyProperty 사용하여 Command 만들기

이전 글 DependencyProperty를 사용해서 Behavior에 속성을 만들어 보았습니다. 속성을 만든 것처럼 Command도 만들어 Binding 할 수 있습니다. 이번 글에서는 DependencyProperty 사용해서 탐색기에서 파일을 Drag 해서 Drop을 받는 Command를 만들어 보겠습니다. …

[WPF] Animation 만들기

이번 글에서는 WPF에서 애니메이션에 대해서 알아보겠습니다. WPF에서는 모든 컨트롤을 애니메이션 지원을 해줍니다. 움직이거나, 회전하거나, 크기가 변경되는 등등 애니메이션처럼 표현해줍니다. 애니메이션을 만들 땐 몇 가지 핵심적인 설정 값이 있습니다. Behavior를 사용해서 …

[WPF] 이미지를 Base64 문자열로 바꿔주는 변환기 만들기

Base64는 이진 데이터를 64개의 출력 가능한 ASCII 문자로 인코딩 하는 방식입니다. 여기서 64는 64진법이란 뜻입니다. Base64를 사용하게 되면 길이가 약 33퍼정도 더 늘어나는데 그럼에도 불구하고 사용하는 이유는 바이너리 데이터를 안전하게 …

[WPF] DependencyProperty 만들기 – Behavior 사용해서 ProgressBar 색상 바꾸기

이번 글에서는 DependencyProperty를 사용하여 Behavior에 속성을 만들어 ProgressBar 색상 바꾸는 작업을 해보겠습니다. DependencyProperty(의존성 속성)는 WPF 프레임워크가 값을 직접 관리해 주는 특별한 속성입니다. 일반적인 C# 속성은 클래스 내부 변수에 값을 저장하고 …

[WPF] Behavior 만들기 – 포커스 하면 TextBox 모든 텍스트 선택하기

이번 글에서는 WPF에서 Behavior에 대해 만들어 보겠습니다. Behavior는 WPF에서 MVVM 패턴을 지키면서 UI 컨트롤에 기능을 더해주는 방식으로 .xaml.cs에 정의하는 것이 아닌 View와 ViewModel 사이에서 UI 동작을 중재하는 방식입니다. Behavior에는 핵심적인 …

[WPF] INotifyDataErrorInfo – 사용자 입력 값 검증

이번 글에서는 INotifyDataErrorInfo에 대해 알아보겠습니다. INotifyDataErrorInfo는 사용자 입력 값을 검증하기 위한 인터페이스로 ViewModel에서 데이터 검증 오류를 UI에 알리는 방식을 제공하는 인터페이스입니다. 이 인터페이스를 사용하면 속성에 오류가 생겼을 때 UI에 알려주고 …

[C#] lock

이번 글에서는 lock에 대해 알아보겠습니다. lock은 공유 리소스에 대한 단독 액세스를 보장하는 문입니다. 아래와 같이 공유된 리소스에 두 개의 쓰레드가 동시에 접근한다고 가정해봅시다. 당연히 현재 값에서 1을 증가 시켰으니 temp …