[WPF] Action, Func, Predicate
이번 글에서는 Action, Func, Predicate에 대해 알아보겠습니다. 이 셋은 모두 미리 정의된 제너릭 델리게이트 입니다. 메서드를 변수처럼 담아서 전달할 때 사용되는 그릇이라 보시면 되는데 반환 타입이나 파라미터의 형태에 따라 다를 …
이번 글에서는 Action, Func, Predicate에 대해 알아보겠습니다. 이 셋은 모두 미리 정의된 제너릭 델리게이트 입니다. 메서드를 변수처럼 담아서 전달할 때 사용되는 그릇이라 보시면 되는데 반환 타입이나 파라미터의 형태에 따라 다를 …
이번 글에서는 WeakReferenceMessenger에 대해 알아보겠습니다. WeakReferenceMessenger는 Community Tookit.Mvvm 라이브러리에서 제공하는 메시지 패턴의 구현체입니다. 말 그대로 메시지를 전달하는 역할을 합니다. WeakReferenceMessenger에는 Sender(보내는 사람)와 Recipient(받는 사람)이 있는 발행/구독 패턴이며, 문자 그대로 약한 …
이번 글에서는 Serializable 특성 사용하여 XML, Json 파일로 저장해보도록 하겠습니다. 프로그램을 만들다 보면 이제 객체를 파일로 저장하거나 네트워크를 통해 전송해야할 일이 생깁니다. 이때 객체를 저장하거나 전송할 수 있는 데이터 형태로 …
이전 글 DependencyProperty를 사용해서 Behavior에 속성을 만들어 보았습니다. 속성을 만든 것처럼 Command도 만들어 Binding 할 수 있습니다. 이번 글에서는 DependencyProperty 사용해서 탐색기에서 파일을 Drag 해서 Drop을 받는 Command를 만들어 보겠습니다. …
이번 글에서는 C#을 이용하여 dll을 만들고 WPF 프로그램에서 사용해보도록 하겠습니다. dll이 무엇인지는 쉽게 나오니 바로 만들어 보도록 하겠습니다. C#을 사용하여 dll을 만들 땐 클래스 라이브러리 프로젝트를 선택하면 됩니다. 라이브러리 이름은 …
이번 글에서는 WPF에서 애니메이션에 대해서 알아보겠습니다. WPF에서는 모든 컨트롤을 애니메이션 지원을 해줍니다. 움직이거나, 회전하거나, 크기가 변경되는 등등 애니메이션처럼 표현해줍니다. 애니메이션을 만들 땐 몇 가지 핵심적인 설정 값이 있습니다. Behavior를 사용해서 …
Base64는 이진 데이터를 64개의 출력 가능한 ASCII 문자로 인코딩 하는 방식입니다. 여기서 64는 64진법이란 뜻입니다. Base64를 사용하게 되면 길이가 약 33퍼정도 더 늘어나는데 그럼에도 불구하고 사용하는 이유는 바이너리 데이터를 안전하게 …
이번 글에서는 DependencyProperty를 사용하여 Behavior에 속성을 만들어 ProgressBar 색상 바꾸는 작업을 해보겠습니다. DependencyProperty(의존성 속성)는 WPF 프레임워크가 값을 직접 관리해 주는 특별한 속성입니다. 일반적인 C# 속성은 클래스 내부 변수에 값을 저장하고 …
이번 글에서는 WPF에서 Behavior에 대해 만들어 보겠습니다. Behavior는 WPF에서 MVVM 패턴을 지키면서 UI 컨트롤에 기능을 더해주는 방식으로 .xaml.cs에 정의하는 것이 아닌 View와 ViewModel 사이에서 UI 동작을 중재하는 방식입니다. Behavior에는 핵심적인 …
C#에서 ShowDialog와 Show 함수는 Window에서 제공하는 함수로, 모달(Modal)인지 아닌지(Modaless) 차이가 있지, 두 함수 모두 새 창을 띄우는 함수입니다. 두 방식의 차이는 아래 표와 같습니다. 구분 Show ShowDialog 창 종류 Modeless …