안녕하세요 인터럽트입니다.오늘은 제가 사이드프로젝트를 하면서 습득한 내용을 정리해 보려고 하는데요바로 C#에서 Model 객체를 json으로 변환 및 직렬화하여 json파일로 작성하고 저장하는 방법입니다. 저는 WPF로 응용프로그램을 만들다가 사용자별로 Setting값을 저장해야 하는데DB를 사용할 수 없는 구조여서 실행경로에 별도의 Setting 파일을 생성하는 방법을 사용하려고 했어요Copy프로젝트라 기존 프로젝트에서는 xml로 저장하고 있었으나 저는 저만의 방법으로 하기 위해 json을 사용하도록 결정하고 방법을 찾아봤습니다.Model Classpublic class ConfigItem{ public string Code { get; set; } public string Property ..
안녕하세요 인터럽트입니다.오늘은 WPF에서 지난번 포스팅에서 설명한 CollectionView의 응용버전입니다.CollectionView에서 Filter기능에 대해 알고 계신가요?CollectionViewSource를 활용하여 데이터 바인딩 효율적으로 표시하기이전 포스팅을 먼저 선행해 주세요~기본적으로 CollectionView는 단일 Filter를 지원하고 있습니다.그런데 저는 여러개의 Property에 동시에 Filter를 걸고 싶었어요이럴 경우 어떻게 처리해야 하는지에 대해 이번 포스팅에서 정리하겠습니다.1. Delegate를 이용한 필터관리CollectionView.Filter는 Predicate 델리게이트를 받으므로,이를 확장하여 여러 조건을 조합하고 조건을 추가하거나 제거할 수 있습니다.// ..
안녕하세요 인터럽트 입니다.오늘은 제가 일을하다가 겪은 오류내용 중 공유하고 싶은 내용을 적어보려고 합니다. 작업내용DataGrid에 TemplateColumn으로 CheckBox를 추가해당 CheckBox Check, UnCheck 이벤트 발생 시 Command를 실행하도록 EventTrigger 추가EventTrigger에 Command, CommandParameter 연결위와 같은 작업을 진행했습니다. 저는 CheckBox를 직접 Check, UnCheck 해서 이벤트를 발생시키는 방법IsCheck Property에 바인딩 된 값을 변경 시에 Check 이벤트를 발생시키는 방법두가지를 모두 사용하기 위해 EventTrigger를 사용했습니다.IsChecked="{Binding CheckValuePr..
안녕하세요 인터럽트입니다. 이번 포스팅에서는 WPF프레임워크에서 데이터 바인딩 시 정말 편리한 기능인 CollectionViewSource에 대해서 알아보려고 합니다. CollectionViewSource란? WPF에서 데이터를 효율적으로 관리하고 UI에 표시하기 위한 클래스이다. 데이터 소스와 UI 간의 중간 역할을 수행하여 데이터를 필터링, 정렬, 그룹화하고 변경 사항을 감지하여 자동으로 UI를 업데이트한다. 주요 기능 필터링(Filtering) 데이터를 특정 조건에 따라 필터링하여 원하는 항목만 표시할 수 있다. 정렬(Sorting) 데이터를 정렬하여 사용자에게 정렬된 형태로 제공할 수 있다. 그룹화(Grouping) 데이터를 그룹화하여 카테고리별로 표시할 수 있다. 데이터변경감지(Detecting..
안녕하세요 인터럽트입니다. 오늘은 WPF로 데스크톱프로그램 개발 시에 정말 유용하게 사용할 수 있는 기능인 TextBox에 워터마크 기능을 어떻게 구현하는지 정리해보려고 합니다. 사실은 제가 필요할 때 다시 써먹으려고 정리해 놓는 거예요ㅎㅎ ※워터마크가 뭔가요? 로그인창이나 뭔가를 입력해야 하는 textBox를 보면 입력박스 안이 빈 값일 때 기본으로 보여주는 문구를 보신 적이 있으실 겁니다. 이런 워터마크 기능을 WPF에서는 직접 구현해야지만 사용할 수 있어요 이런,,, 하지만 이가 없으면 잇몸으로! 저희는 구현해서 사용할 수 있습니다! 여러 가지 방법을 찾았는데 저는 이 방법이 가장 간단하고 좋아 보였어요, 따로 behavior에 코딩 없이 xaml안에서만 처리가 가능한 방법입니다. WPF TextB..