Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

WPFのDataGridにstringの2次元配列をバインドしたい

$
0
0

小ネタです。WPF(に限らずですが)のBindingは、配列の要素にインデックスでアクセスが可能です。 なので、以下のようなBinding式を書くことで、配列を表示することが出来ます。

<Window x:Class="WpfApplication11.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:WpfApplication11"mc:Ignorable="d"Title="MainWindow"Height="350"Width="525"><Grid><DataGrid x:Name="DataGrid"AutoGenerateColumns="False"><DataGrid.Columns><DataGridTextColumn Header="Col1"Binding="{Binding [0]}" /><DataGridTextColumn Header="Col2"Binding="{Binding [1]}" /><DataGridTextColumn Header="Col3"Binding="{Binding [2]}" /><DataGridTextColumn Header="Col4"Binding="{Binding [3]}" /></DataGrid.Columns></DataGrid></Grid></Window>

DataGridのItemsSourceに以下のように適当にデータを流し込むと

using System.Windows;

namespace WpfApplication11
{
    /// <summary>/// MainWindow.xaml の相互作用ロジック/// </summary>publicpartialclass MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            this.DataGrid.ItemsSource = new[]
            {
                new[] { "A", "B", "C", "D"},
                new[] { "A", "B", "C", "D"},
                new[] { "A", "B", "C", "D"},
                new[] { "A", "B", "C", "D"},
                new[] { "A", "B", "C", "D"},
                new[] { "A", "B", "C", "D"},
            };
        }
    }
}

こんな風に表示されます。

f:id:okazuki:20160209103231p:plain


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>