728x90
반응형
제 블로그 목록에는 C# WPF .NET 6 기반, NuGet "CommunityToolkit.Mvvm" 바인딩 해보았습니다.
이번 포스트는 C# WPF .Net Framework로 바인딩 해보겠습니다.
MainWindow.xaml
<Window x:Class="WpfApp2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp2"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<TextBlock Text="{Binding Name}" />
</Grid>
</Window>
MainWindow.cs
using System.Windows;
namespace WpfApp2
{
/// <summary>
/// MainWindow.xaml에 대한 상호 작용 논리
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new Model { Name = "바람과 함께 돌아온 개발자" };
}
}
}
Model.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WpfApp2
{
public class Model
{
public string Name { get; set; }
}
}
ViewModel.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WpfApp2
{
public class ViewModel : INotifyPropertyChanged
{
private string name;
public string Name
{
get { return name; }
set
{
if (name != value)
{
name = value;
OnPropertyChanged(nameof(Name));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}
-실행결과

728x90
반응형
'C# > WPF (MVVM)' 카테고리의 다른 글
[C# / WPF / MVVM / Prism] DataGrid Binding # 1 - 생성 (0) | 2024.07.15 |
---|---|
[C# / WPF / MVVM / Prism] ListBox, ListView 선택한 아이템 찾기 (2) | 2024.06.23 |
[C# WPF / MVVM] 이벤트 바인딩 (Event Binding) (0) | 2023.07.25 |
[C# WPF / MVVM] 콤보박스 데이터 바인딩 (Combobox Data Binding) #2 (0) | 2023.07.25 |
[C# WPF / MVVM] 콤보박스 데이터 바인딩 (Combobox Data Binding) #1 (0) | 2023.07.25 |