Offer not DataGrid and ItemsControl to list your parameters.
The outer ItemsControl lists the class property of type List, the second ItemsControl element of this list is of type byte[][], the third is a byte[] and displays a TextBox for each digit.
By binding (Binding) you are changing the values in textboxex, change it in the property of your object.
Xaml:
<window x:class="WpfApplication1.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">
<grid>
<itemscontrol x:name="itemsData">
<itemscontrol.itemtemplate>
<datatemplate>
<itemscontrol borderbrush="Black" borderthickness="1" itemssource="{Binding}">
<itemscontrol.itemtemplate>
<datatemplate>
<itemscontrol borderbrush="Black" borderthickness="1" itemssource="{Binding}">
<itemscontrol.itemspanel>
<itemspaneltemplate>
<stackpanel orientation="Horizontal">
</stackpanel></itemspaneltemplate>
</itemscontrol.itemspanel>
<itemscontrol.itemtemplate>
<datatemplate>
<textbox text="{Binding Path=.}">
</textbox></datatemplate>
</itemscontrol.itemtemplate>
</itemscontrol>
</datatemplate>
</itemscontrol.itemtemplate>
</itemscontrol>
</datatemplate>
</itemscontrol.itemtemplate>
</itemscontrol>
</grid>
</window>
C#
namespace WpfApplication1
{
/// <summary>
/// Logic of interaction for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var my = new MyClass();
my.Data = new List<byte[][]>();
my.Data.Add(new byte[][] { new byte[] { 0, 1 }, new byte[] { 2, 3 }, new byte[] { 4, 5 } });
my.Data.Add(new byte[][] { new byte[] { 6, 7 }, new byte[] { 8, 9 }, new byte[] { 10, 11 } });
itemsData.ItemsSource = my.Data;
}
}
public class MyClass
{
public List<byte[][]> Data
{ get; set; }
}
}</byte[][]></byte[][]>