C#/WPF

    [C# - WPF] View Binding 자동 완성 방법, F12로 ViewModel 타고 가기

    안녕하세요, 반나무입니다.이미 많은 분들이 알고계시겠지만 View에서 F12를 눌러서 ViewModel로 타고 넘어가는 방법을 소개 해드리려고 합니다. 해당 방법은 정확히는 View에 DataContext를 연결하는 방법입니다. 기본적으로는 예시와 같은 코드가 있다고 할 때, Binding된 값에 F12를 누르면 아래와 같이 나옵니다. 그 이유는 Binding 프로퍼티만 치면 Path=가 생략되기 때문에 원래는 저 모양이라 그렇습니다.  코드를 아래 처럼 두줄 추가 해 줍니다.(내용은 이 글을 보시는 분들 마다 다 다릅니다) Line 7 : 사용할 네임스페이스 작성Line 8 : d:DataContxt를 해당 네임스페이스의 MainViewModel Class로 설정(이건 제 ViewModel 클래스 이름..

    [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 아이콘 및 분기 총 정리

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

    [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# - WPF] 1. WPF 프로젝트를 처음 시작해보자

    안녕하세요 반나무입니다. 그래서 WPF, MVVM 어떤건지 대충 이해는 가는데 어떻게 쓰는건가 하면.. 1. WPF프로젝트 생성 2. 프로젝트 내부 구조(폴더) 생성 3. 기본 세팅 1. WPF 프로젝트를 생성합니다. 2. 프로젝트 내부 구조(폴더) 생성 Model, VIew, ViewModel 폴더를 생성하고 View에 MainWindow.Xaml을 넣습니다. (View에 MainWindow를 넣고 프로젝트를 종료 후 다시 열어야 정상작동합니다,) 3. 기본 세팅 1. 64bit로 개발하는것이 웬만해선 좋기 때문에 특별히 32bit개발이 필요한게 아니라면 64bit로 변경합니다. 2. MainViewModel.cs 생성 -> 바인딩 처리 public class MainViewModel : INotify..