Предлагаю воспользоваться не датагридом, а ItemsControl для вывода списка ваших параметров.
Внешний ItemsControl перечисляет свойство класса типа List, второй ItemsControl — элемент этого списка типа byte[][], третий — byte[] и отображает TextBox для каждой цифры.
За счёт связывания (Binding) вы меняя значения в текстбоксах, меняете его в свойстве вашего объекта.
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"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=.}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Window>
C#
namespace WpfApplication1
{
/// <summary>
/// Логика взаимодействия для 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; }
}
}