Generate columns for all item in wpf binding data when included List<T>

Viewed 24

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 ?

0 Answers
Related