[C# - WPF] 2. MVVM방식으로 바인딩 하기
C#/WPF2022. 7. 15. 21:08[C# - WPF] 2. MVVM방식으로 바인딩 하기

2021.11.10 - [C#/WPF] - [WPF] 0. WPF와 MVVM란? 2021.11.10 - [C#/WPF] - [WPF] 1. WPF 프로젝트를 처음 시작해보자 안녕하세요, 반나무입니다. 1편에 나온 설정을 유지한채 MVVM방식으로 바인딩하는 방법입니다. 우선 ViewModel과 View.cs에 바인딩 코드를 적어줍니다. // MainWindowViewModel.cs using System.ComponentModel; // INotifyPropertyChanged 상속 #region Binding public event PropertyChangedEventHandler PropertyChanged; public void OnPropertyChanged(string propertyName) {..

[C# - WPF] MessageBox 아이콘 및 분기 총 정리
C#/WPF2022. 7. 2. 11:05[C# - WPF] MessageBox 아이콘 및 분기 총 정리

안녕하세요, 반나무입니다. MessageBox사용중 어떤 버튼이 어떻게 생겼고, 사용 방법도 오랜만에 쓰니까 기억이 잘안나서 글을 써봅니다. 기본 메세지 박스 using System.Windows; MessageBox.Show("메세지 박스"); 아이콘이 있는 확인 메세지 박스 아이콘의 그림이 다양하기 때문에 전부 확인해 봤습니다. using System.Windows MessageBox.Show("메세지 박스, "타이틀", MessageBoxButton.OK, MessageBoxImage.Information); 대부분의 아이콘이 비슷한것으로 확인되었으며 Error, Infomation, Waring, Question 정도만 사용하면 되겠네요 다양한 선택지의 메세지 박스 메세지 박스에는 굉장히 다양한 ..

[C# - WPF] Bitmap위에 도형 그리는 방법 두가지
C#/WPF2022. 6. 16. 19:41[C# - WPF] Bitmap위에 도형 그리는 방법 두가지

안녕하세요, 반나무입니다. Bitmap위에 도형을 그리는 방법 두가지를 열심히 찾아서 소개합니다. 1. BitmapImage를 출력하고 ZIndex로 위에 BitmapSource로 도형을 그린 이미지를 올린다. 2. Bitmap에 Graphics로 도형을 그려 출력한다. 우선 기본적인 바인딩은 다 적용했다는 가정하에 시작하겠습니다. 저는 일반적인 바인딩 방법을 사용했습니다. 1. ZIndex방법 MainWindow.xaml using System.Windows.Media.Imaging; using System.Windows.Media; // 로컬 이미지 가져오기 MyBitmap = new Bitmap("D://hello.bmp"); // 이미지 사이즈로 도형을 새로 그린다. RenderTargetBitm..

[C#] DLL불러올때 'System.IO.FileNotFoundException' 예외
C#/C#이야기2022. 2. 9. 22:53[C#] DLL불러올때 'System.IO.FileNotFoundException' 예외

안녕하세요 반나무입니다. 오늘은 C#에서 DLL을 불러올때 System.IO.FileNotFoundException예외가 나와 해결을 해봤습니다. 이것은 C#이다 7.0 책에있는 6.9.3 리플렉션을 이용한 확장 모듈 구현 예제를 진행하다 예외가 발생했는데요 우선 버전은 이렇게 진행했는데.. 특별히 코드상에는 문제가 없고 버전 문제인거같아서 버전부터 맞춰봤습니다. 콘솔 프로젝트 : .NET Framework 4.7.2 클래스 라이브러리 : .NET 5.0 확인해보니 버전문제가 맞았고, .NET5.0으로 콘솔 프로젝트를 맞춰주니 정상적으로 작동되었습니다. 그리고 DLL을 빌드할때는 Debug모드로 빌드하지 않으면 요약주석이 보이지 않는다고 합니다. 주의점으로는 DLL의 종속성을 확인하고 진행해야하는데, 자..

[C#] EventWaitHandle로 TimeOut기능 만들기
C#/C#이야기2022. 1. 23. 16:43[C#] EventWaitHandle로 TimeOut기능 만들기

EventWaitHandle 두가지 상태를 가지며 Set을 통해 Non-Signal -> Signal, Reset을 통해 Signal -> Non-Signal로 상태 변경이 가능하다. Non-Signal : 제어를 반환하지 않음(잠금) Signal : 제어를 반환(열림) private EventWaitHandle ewh = new EventWaitHandle(false, EventResetMode.ManualReset); AutoResetEvent EventWaitHandle을 사용하지 않고 따로 생성도 가능하다. Set하면 대기중인 스레드 중 첫번째로 대기 시작한 쓰레드 하나를 진행하시킨다. private static AutoResetEvent autoEvt = new AutoResetEvent(fal..

image