Keep Going

Keep Going

[WPF] DataTemplate, DataTemplateSelector 사용하기

이번 글에서는 DataTemplate와 DataTemplateSelector에 대해 알아보겠습니다. DataTemplate는 말 그대로 데이터를 보여주는 틀이라고 보시면 됩니다. WPF에 이 데이터는 화면에 어떻게 그리는지 알려주는 설계도와 같습니다. DataTemplate를 사용하면 ListBox에 텍스트로 표시되는 것을 정해진 …

[WPF] RadioButton 사용하기

이번 글에서는 WPF에서 RadioButton에 대해 알아보겠습니다. RadioButton는 IValueConverter에 대한 코드도 들어있으니 해당 글을 먼저 보시는 것을 추천 드립니다. RadioButton 만들어보기 우선 아래와 같이 3개의 과일을 표시하는 RadioButton을 만들어 줍니다. TextBlock은 …

[WPF] Action, Func, Predicate

이번 글에서는 Action, Func, Predicate에 대해 알아보겠습니다. 이 셋은 모두 미리 정의된 제너릭 델리게이트 입니다. 메서드를 변수처럼 담아서 전달할 때 사용되는 그릇이라 보시면 되는데 반환 타입이나 파라미터의 형태에 따라 다를 …

[WPF] WeakReferenceMessenger으로 메시지 보내기

이번 글에서는 WeakReferenceMessenger에 대해 알아보겠습니다. WeakReferenceMessenger는 Community Tookit.Mvvm 라이브러리에서 제공하는 메시지 패턴의 구현체입니다. 말 그대로 메시지를 전달하는 역할을 합니다. WeakReferenceMessenger에는 Sender(보내는 사람)와 Recipient(받는 사람)이 있는 발행/구독 패턴이며, 문자 그대로 약한 …

[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# 속성은 클래스 내부 변수에 값을 저장하고 …