반응형
커스텀 클래스를 선언하고, 이 클래스를 DataGrid에 바인딩하는 방법입니다.
1. Window에 DataGrid를 넣고, 컬럼(ID, Name)을 추가한다.
2. DataGrid XAML에 각 컬럼에 커스텀 클래스의 속성을 바인딩합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <Window x:Class="BindingCustomClassToDataGrid.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded"> <Grid> <DataGrid AutoGenerateColumns="False" Name="dataGrid1"> <DataGrid.Columns> <DataGridTextColumn Header="ID" Binding="{Binding ID}"/> <DataGridTextColumn Header="Name" Binding="{Binding UserName}"/> </DataGrid.Columns> </DataGrid> </Grid> </Window> |
3. 커스텀 클래스를 생성합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BindingCustomClassToDataGrid { class CustomClass { public string ID { set; get; } public string UserName { set; get; } } } |
4. Window에 Loaded 이벤트를 추가합니다.
5. Window의 Loaded 이벤트에 아래와 같이 코드를 추가합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace BindingCustomClassToDataGrid { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { List<CustomClass> list = new List<CustomClass>(); list.Add(new CustomClass { ID = "ID-01", UserName = "Name-01" }); list.Add(new CustomClass { ID = "ID-02", UserName = "Name-02" }); list.Add(new CustomClass { ID = "ID-03", UserName = "Name-03" }); list.Add(new CustomClass { ID = "ID-04", UserName = "Name-04" }); dataGrid1.ItemsSource = list; } } } |
6. 아래의 이미지는 실행 결과입니다.
반응형
'프로그래밍 속 지혜 > WPF' 카테고리의 다른 글
WPF 프로젝트 만들기 (1) | 2016.05.04 |
---|---|
WPF - Window의 타이틀바(Titlebar) 없애기 (1) | 2016.04.25 |
WPF - DataGrid에 DataTable 바인딩(Binding)하기 (7) | 2016.04.14 |
WPF - ComboBox에 DataTable 바인딩(Binding)하기 (5) | 2016.04.12 |
WPF - 이미지 버튼 만들기 (2) | 2016.04.07 |
댓글