일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- algorithm
- mysql
- Microsoft
- log
- Binding
- convert
- windows10
- commit
- Coding
- windows
- nullable
- coding-test
- tls
- File
- csharp
- Github
- programmers
- IValueConverter
- string
- dotNET
- .net
- git
- WPF
- Process
- logging
- Visual Studio
- chashtag
- ListView
- 코딩테스트
- C#
- Today
- Total
목록C#/WPF (16)
CHashtag
WPF의 Listview는 많은 데이터를 표시할 수 있도록 도와주는 UI 요소 중 하나입니다. 이전에는 SelectedItems 속성을 바인딩하는 것이 불가능했지만, 최신 버전의 WPF에서는 Command로 처리할 수 있도록 업데이트되었습니다. 이번에는 Prism 라이브러리를 이용하여 Mvvm 패턴을 적용한 예제를 살펴보겠습니다. Prism은 MVVM 패턴을 구현하는 데 도움이 되는 많은 기능을 제공합니다. 우선, Prism 라이브러리를 사용하려면 NuGet 패키지 관리자에서 Prism.Core 패키지를 설치해야 합니다. 설치 후, ListView와 Command를 바인딩하는 방법을 알아보겠습니다. ListView의 Behaviors 클래스 가져오기 xmlns:i="http://schemas.micros..
WPF에서 Converter를 사용하여 bool의 반대값을 binding하는 방법은 매우 간단합니다. Converter는 데이터를 변환하는데 사용되며, 이를 사용하면 XAML 코드에서 데이터 변환을 수행할 수 있습니다. Converter를 사용하여 bool의 반대값을 binding하는 예제를 보여드리겠습니다. 먼저, Converter 클래스를 작성합니다. 이 클래스는 IValueConverter 인터페이스를 구현해야 하며, Convert와 ConvertBack 메서드를 구현해야 합니다. 다음과 같이 작성할 수 있습니다. using System; using System.Globalization; using System.Windows.Data; namespace MyConverter { public clas..
안녕하세요. 오늘은 WPF의 핵심 기능인 Binding을 이용하여 다른 Control의 Property(Button이 Griddml Width속성을)를 Binding하는 방법에 대해 알아보도록 하겠습니다. 자기자신의 다른 속성값 얻기 자기자신의 조상(부모) Control의 값 얻기 이때 같은 type의 부모가 둘 이상이라면 어떻게 될까요? 이런 때에는 본인과 가장 인접한 조상을 선택하도록 되어있습니다. 그렇다면 제일 인접한 조상이 아니거나 아예 조상이 아닐 경우에는 어떻게 해야 할까요? x:Name으로 Control 찾기 아래 코드와 같이 x:Name 을 이용하면 해당 이름을 가진 Control에 바로 접근할 수 있습니다. 감사합니다.
안녕하세요. 오늘은 WPF에서 TextBox를 사용할 때 숫자만 입력받는 방법에 대해 알아보도록 하겠습니다. 방법이 간단하여 바로 코드로 설명해드리도록 하겠습니다. PreviewTextInput Event는 Text가 변경되었을 때 값이 반영되기 전에 먼저 들어오는 이벤트입니다. 여기서 e.Handled값을 이용하여 값 변경을 허용할지 말지를 결정짓게 되는겁니다. 따라서 Regex를 이용하여 숫자일 때에만 수정이 가능하게 구현하였습니다. // MainWindow.xaml.cs using System.Text.RegularExpressions; private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e) { Regex re..
결론부터 알려드리겠습니다. Text="{Binding SomeProperty, UpdateSourceTrigger=PropertyChanged}" WPF 개발을 하다 보면 Binding이 실시간으로 되지 않는 것 같은 느낌이 들 때가 있습니다. 간단한 예를 들어보겠습니다. 최대 10자까지 입력이 가능한 작은 메모장을 하나 만들어 보겠습니다. 이 프로그램의 가장 중요한 요소는 10자 이상 넘어가지 않도록 하는 것입니다. (10자 이상 넘어갈 시 배경을 붉게 하여 표시해보도록 하겠습니다.) // OverTenToColorConverter.cs class OverTenToColorConverter : IValueConverter { public object Convert(object value, Type ta..
결론부터 알려드리겠습니다. 안녕하세요. 오늘은 ComboBox Control을 사용할 때 Source에 Converter를 적용하는 방법에 대해 알려드리려 합니다. 이해를 돕기위해 바로 예제 프로그램을 제작해 보도록 하겠습니다. 예제 프로그램 랜덤한 숫자가 담긴 리스트에 홀수 짝수 여부를 같이 붙여서 ComboBox에 보여지는 프로그램을 만들어보도록 하겠습니다. 관련하여 설명은 주석에 달아 두었으니 참고해주시면 됩니다. // MainWindow.xaml.cs using System; using System.Collections.Generic; using System.Windows; namespace WPF_ComboBox_Converter { /// /// Interaction logic for Main..
안녕하세요. 이전 게시글 (https://chashtag.tistory.com/77) 에서는 DatePicker에 대해 알아보았습니다. [C#] [WPF] MVVM패턴에서의 DatePicker 사용방법 안녕하세요. 오늘은 WPF에서 날짜를 선택할 수 있는 Control인 DatePicker에 대해 알아보고 간단한 MVVM패턴에서의 사용방법까지 배워보도록 하겠습니다. DatePicker DatePicker는 WPF기본 제공 Control입니다. ( chashtag.tistory.com 하지만 DatePicker는 년 월 일 까지만 선택이 가능하고 시, 분, 초는 선택이 불가능하다는 단점이 존재합니다. 그래서 오늘은 DateTimePicker에 대해 알아보려고 합니다. DateTimePicker DateTi..
안녕하세요. 오늘은 WPF에서 날짜를 선택할 수 있는 Control인 DatePicker에 대해 알아보고 간단한 MVVM패턴에서의 사용방법까지 배워보도록 하겠습니다. DatePicker DatePicker는 WPF기본 제공 Control입니다. (PresentationFramework.dll) https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.controls.datepicker?view=net-5.0 DatePicker 클래스 (System.Windows.Controls) 사용자가 날짜를 선택할 수 있도록 해주는 컨트롤을 나타냅니다.Represents a control that allows the user to select a date. docs.m..
WPF 프로그래밍을 하다 보면 Control을 적절히 분리하여 다른 Control들을 배치하여야 합니다. 이때 자주 사용하는 Control이 Grid입니다. 하지만 분리할 때에 단순히 Width, Height, Margin, Padding만을 사용한다면 안됩니다. 프로그램의 크기가 달라졌을 때나 변경사항이 생길 때 구조가 잡혀있지 않다면 굉장히 난감해지기 때문입니다. (이 때문에 저는 ToolBox에서 Control들을 직접 Drag&Drop하여 Control들을 배치하지 않습니다.) 한 가지 예를 들어보겠습니다. 다음과 같은 프로그램이 있습니다. 해당 프로그램의 디자이너 코드는 다음과 같습니다. . 이때 이 Window의 크기를 변경하거나 사용자가 임의로 크기를 변경하였을 때 아래 사진처럼 구조가 틀어..
안녕하세요. 오늘은 WPF MVVM패턴에서 TextBox에서 특정 버튼을 눌렀을 때 ViewModel의 함수로 연결하는 방법에 대해 알아보도록 하겠습니다. 우선 View입니다. 여기서 중요하게 보여야 할 부분은 두 가지입니다. 우선 첫 번째는 아래 코드입니다. Text="{Binding Id, UpdateSourceTrigger=PropertyChanged}" UpdateSourceTrigger의 자세한 설명은 chashtag.tistory.com/1 를 참고하시면 됩니다. (간략하게 설명드리자면 UpdateSourceTrigger=PropertyChanged가 없으면 엔터를 눌렀을 때 텍스트가 비어있는 것처럼 보이게 됩니다.) 두 번째는 아래 코드입니다. KeyBinding은 특정 키가 눌렸을 때 Co..