MVVM(Model View ViewMode) 패턴에서 XAML View가 WPF Command를 어떻게 바인딩하는지 살펴보자. ICommand Interface로 이벤트 핸들러를 구현하여 직접 xaml에서 사용하는 예제이다. 아래의 코드처럼 화면을 구현한다고 가정한다.
<TextBox x:Name="TextBoxSimple" Text="Default"/>
<Button x:Name="ButtonSimple" Content="Simple Command"/>
MahApps.Metro is a project that Paul Jenkins started back in 2011 as a simple way to bring a Metro-style user interface into your WPF application(MahApps 2019). WPF 테마를 쉽게 ‘메트로’ 형태로 바꾸어 주며 추가로 아이콘팩을 설치하면 웹 아이콘 폰트처럼 다양한 아이콘을 사용할 수 있다. Nuget Package Manager로 ‘MahApps.Metro’와 ‘MahApps.Metro.IconPacks’ 설치하여 사용한다. 아래의 이미지처럼 ‘IconPacks.Browser’로 아이콘의 내용을 쉽게 검색할 수 있다.
이번 글은 WPF Datagrid를 사용할 때 선택한 Row에서 각 Column 값을 가져오는 예제이다. 아래 소스는 클래스 모델(Database라고 가정)을 그리드에 바인딩하고 Cell 안의 버튼 이벤트와 Row 선택 이벤트를 어떻게 작성하는지 보여준다.
using System.Collections.ObjectModel;
namespace WPFDB
{
public class Student
{
public int ID { get; set; }
public string Name { get; set; }
public static ObservableCollection<Student> GetStudent()
{
var student = new ObservableCollection<Student>
{
new Student() { ID = 100, Name = "가나닭-abc" },
new Student() { ID = 200, Name = "마바삵-ABC" }
};
return student;
}
}
}