일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- File
- git
- Process
- ListView
- log
- chashtag
- algorithm
- windows
- coding-test
- C#
- Github
- windows10
- string
- dotNET
- .net
- Visual Studio
- Binding
- WPF
- programmers
- tls
- Coding
- IValueConverter
- convert
- logging
- mysql
- Microsoft
- nullable
- commit
- csharp
- 코딩테스트
- Today
- Total
목록WPF (16)
CHashtag
WPF 프로그래밍을 하다 보면 Control을 적절히 분리하여 다른 Control들을 배치하여야 합니다. 이때 자주 사용하는 Control이 Grid입니다. 하지만 분리할 때에 단순히 Width, Height, Margin, Padding만을 사용한다면 안됩니다. 프로그램의 크기가 달라졌을 때나 변경사항이 생길 때 구조가 잡혀있지 않다면 굉장히 난감해지기 때문입니다. (이 때문에 저는 ToolBox에서 Control들을 직접 Drag&Drop하여 Control들을 배치하지 않습니다.) 한 가지 예를 들어보겠습니다. 다음과 같은 프로그램이 있습니다. 해당 프로그램의 디자이너 코드는 다음과 같습니다. . 이때 이 Window의 크기를 변경하거나 사용자가 임의로 크기를 변경하였을 때 아래 사진처럼 구조가 틀어..
안녕하세요. 오늘은 WPF에서 사용가능한 DispatherTimer 사용방법에 대해 알아보도록 하겠습니다. DispatherTimer은 정해진 Interval마다 Tick Event Listener함수를 호출해주는 기능을 가지고 있습니다. using System; using System.Windows.Threading; private void InitTimer() { DispatcherTimer timer = new DispatcherTimer(); // 1초 마다 Tick 됩니다. timer.Interval = TimeSpan.FromMilliseconds(1000); // Event 특성상 여러 이벤트를 등록시킬 수 있습니다. timer.Tick += Timer_Tick; timer.Tick += T..
WPF 프로그래밍 중 바인딩될 값에 따라 다른 값을 지정해 주어야 할 때가 종종 있습니다. (예를 들면 입력받은 text가 10자 이상이면 background color가 변한다. 같은 느낌으로요.) (Binding StringFormat의 상위 호환이라고 생각하시면 편할 것 같습니다.) 이럴 때 사용할 수 있는 것이 바로 IValueConverter, IMultiValueConverter입니다. 이해를 돕기위해 예제 프로그램을 제작해 보도록 하겠습니다. Converter Binding이 기본적으로 2 way를 지원하듯, Converter도 2 way converting을 지원합니다. ViewModel -> View로 가는 Convert 함수와 View -> ViewModel로 가는 ConverterBa..
안녕하세요. 오늘은 하나의 Property에 여러 값을 동시에 Binding 하는 MultiBinding에 대해 알아보도록 하겠습니다. (Converter에 대한 설명은 다른 게시글로 정리하겠습니다.) 코드에 대한 설명은 주석으로 달아놓았으니 참고 바랍니다. 감사합니다.
결론부터 알려드리겠습니다. public class MainViewModel { private string _filter = string.Empty; public string Filter { get => _filter; set { _filter = value; OnFilterChanged(); } } private ObservableCollection StringFilter { get; set; } private CollectionViewSource StringCollectionViewSource { get; set; } public ICollectionView StringCollection { get { return StringCollectionViewSource.View; } } public MainV..
안녕하세요. 오늘은 csv 파일을 파싱 하는 방법에 대해 알아보겠습니다. CSV 파일이란? csv 파일 확장자는 comma-separated values라는 의미로 " , " 로 구분하는 텍스트 파일 확장자입니다. 엑셀을 이용하여 데이터를 csv파일로 저장한 뒤 데이터를 파싱 하여 보겠습니다. 해당 파일을 메모장으로 열어보면 다음과 같은 데이터가 보입니다. 번호,이름,사는곳,직업 1,Henry,대구,개발자 2,Tom,서울,선생님 3,Jonathan,대전,경찰 4,James,부산,무직 5,Rachel,인천,의사 6,Samuel,창원,학생 7,Peter,안동,농부 8,Clara,울진,선장 9,Harry,울산,역무원 이제 이 데이터를 파싱해 보도록 하겠습니다. 프로그램 제작 csv를 파싱하는 수많은 라이브러리..