[C# - WPF] 2. MVVM방식으로 바인딩 하기C#/WPF2022. 7. 15. 21:08
Table of Contents
안녕하세요, 반나무입니다.
1편에 나온 설정을 유지한채 MVVM방식으로 바인딩하는 방법입니다.
우선 ViewModel과 View.cs에 바인딩 코드를 적어줍니다.
// MainWindowViewModel.cs
using System.ComponentModel;
// INotifyPropertyChanged 상속
#region Binding
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
#endregion
Window의 DataContext를 ViewModel로 치환합니다.
// MainWindow.xaml.cs
public partial class MainWindow : Window
{
public MainWindow()
{
MainWindowViewModel mainWindowViewModel = new MainWindowViewModel();
InitializeComponent();
this.DataContext = mainWindowViewModel;
}
}
xaml단에 바인딩을 걸어줍니다.
// MainWindow.xaml
<Grid>
<Label Content="{Binding Title}" FontSize="20"/>
</Grid>
바인딩할 속성을 작성하고 생성자에 바인딩을 해줍니다.
MainWindowViewModel.cs
// 필드
private string _title;
// 속성 : 바인딩할 텍스트
public string Title { get { return _title; } set { _title = value; OnPropertyChanged(nameof(Title)); } }
// 생성자
public MainWindowViewModel()
{
Title = "바인딩 성공!";
}
도움되었다면 좋아요 꾹!
반응형
'C# > WPF' 카테고리의 다른 글
[C# - WPF] View Binding 자동 완성 방법, F12로 ViewModel 타고 가기 (1) | 2024.04.28 |
---|---|
[C# - WPF] MessageBox 아이콘 및 분기 총 정리 (0) | 2022.07.02 |
[C# - WPF] Bitmap위에 도형 그리는 방법 두가지 (0) | 2022.06.16 |
[C# - WPF] 1. WPF 프로젝트를 처음 시작해보자 (0) | 2021.11.10 |
[C# - WPF] 0. WPF와 MVVM란? (0) | 2021.11.10 |
@반나무 :: 반나무_뿌리
3년차 WPF 개발자입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!