Visual Studio/WPF > DataGrid > XAML에서 열을 추가하여 CS로 데이터 추가

운영 환경
Windows 7 Pro (32bit)
Microsoft Visual Studio 2017 Community
Sublime Text 2

Visual Studio / WPF > DataGrid > 열을 추가하여 데이터 추가
에서 DataGrid에 항목을 추가했다.

열의 설정은 XAML로 실시해 두고 싶다.

XAML에서는 DataGrid에서 열 추가 > DataGridTextColumn 추가로 열을 하나씩 늘릴 수 있습니다. 그 때의 XAML은 다음과 같다.

XAML
           <DataGrid.Columns>
                <DataGridTextColumn/>
            </DataGrid.Columns>

이것만으로는 열의 이름이나 데이터 바인딩의 지정이 없기 때문에, 이하와 같이 재작성해 보았다.

XAML
           <DataGrid.Columns>
                <DataGridTextColumn Header="Column1" Binding="{Binding Column1}"/>
            </DataGrid.Columns>

참고 : h tp : / / s tac ゔ ぇ rf ぉ w. 코 m / 쿠에 s Chion s / 12230866 / Datagi d-ko m-m-ml

CS 파일은 다음과 같이 첫 번째 열 작성은 건너 뛰고 실행해 보았다.

MainWindow.xaml.cs
using System;
using System.Collections.Generic;
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 _170421_WpfApp1
{
    /// <summary>
    /// MainWindow.xaml の相互作用ロジック
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Window_ContentRendered(object sender, EventArgs e)
        {
            var dg = dataGridView1;
            for (int idx = 0; idx < 4; idx++)
            {
                if (idx == 0)
                {
                    continue;
                }
                var column = new DataGridTextColumn();
                column.Header = "Column" + (idx + 1);
                column.Binding = new Binding("Column" + (idx + 1));
                dg.Columns.Add(column);
                //
            }
            dg.Items.Add(new DataItem { Column1 = "a.1", Column2 = "a.2", Column3 = "a.3", Column4 = "a.4" });
            dg.Items.Add(new DataItem { Column1 = "b.1", Column2 = "b.2", Column3 = "b.3", Column4 = "b.4" });
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {

        }
    }

    public class DataItem
    {
        public string Column1 { get; set; }
        public string Column2 { get; set; }
        public string Column3 { get; set; }
        public string Column4 { get; set; }
    }
}

좋은 웹페이지 즐겨찾기