데이터그리드를 테스트해보기 위해 간단한 테스트 코드를 작성해보았다.
목표는 구글 스프레드시트와 연동하는것.
구글 api도 연동해야 하고 해야할 것은 많지만, 한걸음씩 :)
프로젝트 환경
- Visual Studio 2022
- WPF 애플리케이션
- 프로젝트이름 : DataGridWPF_231117
- 프레임워크 : .NET 7.0(표준 용어 지원)
MainWindow.xaml
<Window x:Class="DataGridWPF_231117.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:DataGridWPF_231117"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<DataGrid x:Name="dataGrid" AutoGenerateColumns="False">
<DataGrid.Columns>
<!-- DataGridTextColumn을 사용하여 각 열을 정의합니다.
Header 속성은 열의 헤더(제목)를 설정하고, Binding 속성을 통해 데이터 속성과 바인딩합니다. -->
<DataGridTextColumn Header="이름" Binding="{Binding Name}" />
<DataGridTextColumn Header="나이" Binding="{Binding Age}" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
MainWindow.xaml.cs
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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 DataGridWPF_231117
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
// 데이터 모델 클래스 정의
private class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public MainWindow()
{
InitializeComponent();
Loaded += dataGrid_init;
}
private void dataGrid_init(object sender, RoutedEventArgs e)
{
// 샘플 데이터 생성
ObservableCollection<Person> people = new ObservableCollection<Person>
{
new Person { Name = "홍길동", Age = 30 },
new Person { Name = "김철수", Age = 25 },
new Person { Name = "이영희", Age = 28 },
};
// 데이터 그리드에 데이터 바인딩
dataGrid.ItemsSource = people;
}
}
}
끝.