[WPF] Action, Func, Predicate
이번 글에서는 Action, Func, Predicate에 대해 알아보겠습니다. 이 셋은 모두 미리 정의된 제너릭 델리게이트 입니다. 메서드를 변수처럼 담아서 전달할 때 사용되는 그릇이라 보시면 되는데 반환 타입이나 파라미터의 형태에 따라 다를 …
이번 글에서는 Action, Func, Predicate에 대해 알아보겠습니다. 이 셋은 모두 미리 정의된 제너릭 델리게이트 입니다. 메서드를 변수처럼 담아서 전달할 때 사용되는 그릇이라 보시면 되는데 반환 타입이나 파라미터의 형태에 따라 다를 …
이번 글에서는 WeakReferenceMessenger에 대해 알아보겠습니다. WeakReferenceMessenger는 Community Tookit.Mvvm 라이브러리에서 제공하는 메시지 패턴의 구현체입니다. 말 그대로 메시지를 전달하는 역할을 합니다. WeakReferenceMessenger에는 Sender(보내는 사람)와 Recipient(받는 사람)이 있는 발행/구독 패턴이며, 문자 그대로 약한 …
이번 글에서는 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 …
이번 글에서는 INotifyDataErrorInfo에 대해 알아보겠습니다. INotifyDataErrorInfo는 사용자 입력 값을 검증하기 위한 인터페이스로 ViewModel에서 데이터 검증 오류를 UI에 알리는 방식을 제공하는 인터페이스입니다. 이 인터페이스를 사용하면 속성에 오류가 생겼을 때 UI에 알려주고 …
WPF에서 TreeView를 사용하는 방법에 대해 알아보겠습니다. 생각보다 많은 것을 지원해주지 않아서 빠르게 알아보겠습니다. 만들어 볼 예제는 Folder, File 구조이고, MainWindow.xaml에 아래와 같이 입력하겠습니다. 그 다음 MainWindowViewModel.cs를 만들어 아래와 같이 입력하겠습니다. …