Hello this is my datagrid template,
<DataGrid x:Name="ProgramDataGrid"
Margin="2"
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserReorderColumns="False"
CanUserResizeColumns="False"
CanUserResizeRows="False"
EnableColumnVirtualization="True"
EnableRowVirtualization="True"
IsReadOnly="True"
RenderOptions.ClearTypeHint="Enabled"
SelectionUnit="FullRow"
TextOptions.TextFormattingMode="Display"
ItemsSource="{Binding Data}"
>
<DataGrid.Columns>
<DataGridCheckBoxColumn
Binding="{Binding RelativeSource={RelativeSource AncestorType=DataGridRow}, Path=IsSelected, Mode=OneWay}"
EditingElementStyle="{DynamicResource MahApps.Styles.CheckBox.DataGrid.Win10}"
ElementStyle="{DynamicResource MahApps.Styles.CheckBox.DataGrid.Win10}"
Header="" />
<DataGridTextColumn Binding="{Binding ProgramList.Step[0].Camera}" Header="Camera" />
<DataGridTextColumn Binding="{Binding ProgramList.Step[0].Command}" Header="Command" />
<DataGridTextColumn Binding="{Binding ProgramList.Step[0].Img}" Header="Img" />
<DataGridTextColumn Binding="{Binding ProgramList.Step[0].Result}" Header="Result" />
<DataGridTextColumn Binding="{Binding ProgramList.Step[0].RejectStep}" Header="Reject Step" />
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
var tabs = new ObservableCollection(); int tabsCount = CameraCognexPrograms.ProgramsCount;
for (var i = 1; i <= tabsCount; i++)
{
var tab = new MyTab() { Header = "Program" + i };
tab.Data.Add(new MyTabProgramData() { ProgramList = CameraCognexPrograms.ProgramList[i - 1]});
tabs.Add(tab);
}
DataContext = tabs;
}
public class MyTab
{
public string Header { get; set; }
public ObservableCollection<MyTabProgramData> Data { get; } = new ObservableCollection<MyTabProgramData>();
}
public class MyTabProgramData
{
public Program ProgramList { get; set; }
}
When i run this code my datagrid columns show data from > ProgramList.Step[0].Img but i want to generate columns for all items in this list > ProgramList.Step[ all indexes ].Img
Is this any way to do this ?