일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- string
- ListView
- convert
- Coding
- git
- Process
- IValueConverter
- WPF
- algorithm
- programmers
- csharp
- Visual Studio
- .net
- 코딩테스트
- Github
- File
- dotNET
- nullable
- C#
- logging
- mysql
- windows
- log
- chashtag
- coding-test
- tls
- commit
- Microsoft
- Binding
- windows10
- Today
- Total
목록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..
2022년 6월 15일, Internet Explorer가 지원 종료되었습니다. 그에 따른 걱정으로 IE기반 Embedded인 WebBrowser도 지원 중단되는 것이 아닌가 걱정이 되실 것입니다. 하지만 그렇지는 않습니다. 자세한 내용은 아래 게시물을 참고해주세요. https://chashtag.tistory.com/147 [C#] IE기반 WebBrowser는 지원 중단되나? 결론은 아닙니다. 2022년 6월 15일, Internet Explorer가 지원 종료되었습니다. 그에따른 걱정으로 IE기반 Embedded인 WebBrowser도 지원중단되는것이 아닌가 걱정이 되실텐데요, 다행히 그렇지는 않습니다. chashtag.tistory.com 그럼에도 WebBrowser는 IE기반의 Legacy We..
결론은 아닙니다. 2022년 6월 15일, Internet Explorer가 지원 종료되었습니다. 그에따른 걱정으로 IE기반 Embedded인 WebBrowser도 지원중단되는것이 아닌가 걱정이 되실텐데요, 다행히 그렇지는 않습니다. 우선 일반적으로 WPF와 WinForms에서 사용하는 "WebBrowser"는 IE기반 Embedded 브라우저이긴 하지만, IE를 실질적으로 참조하지는 않습니다. (IE를 삭제해도 아무 지장이 없음.) 추가로, IE는 지원 중단되었지만, MSHTML/Trident 기반의 웹브라우저는 지원중단 대상이 아닙니다. WebBrowser는 Trident기반이고요. 그럼에도 요즘 IE11에서 돌아가는 웹페이지가 많이 없기에, 다른 Embedded 웹브라우저를 찾아 변경하는것이 권장됩..
안녕하세요. 오늘은 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..
제품을 릴리스하여 출시할 때 exe와 동일한 경로에 수많은 .dll 파일들이 위치해 있는 경우가 많습니다. 이럴 경우 매우 복잡하고 지저분해보일 수 있기 때문에 오늘은 이 .dll 파일들을 폴더로 분리해보려 합니다. 테스트 구성은 다음과 같습니다. 빌드를 하면 다음과 같이 지저분한 dll들이 보입니다. 이제 이 dll들을 폴더를 나누어 관리해보려 합니다. (참고로 pdb 파일들은 지워도 됩니다.) app.config에 다음과 같은 코드를 추가해주면 됩니다. 여기서 주의할 점은 privatePath는 exe하위 폴더여야 합니다. 여러 폴더를 지정하고 싶다면 ; 으로 나눠주면 됩니다. (공백이 생겨선 안됩니다.) 사실 app.config를 변경하고 빌드하지 않고 SomeAmazingWPFProgram.exe..