WPF取得DataGrid每个模块格信息

原创
小哥 3年前 (2022-11-07) 阅读数 40 #大杂烩

前台代码:

    <DataGrid Name="_dg_DataGrid" RowHeaderWidth="0" AutoGenerateColumns="False" CanUserSortColumns="False" CanUserAddRows="False" CanUserResizeColumns="False">
                            <DataGrid.Columns>
                                <DataGridTemplateColumn Header="列名" Width="auto">
                                    <DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                                                <ComboBox Name="控件Name" Width="110" Margin="0"
                                                      InputMethod.IsInputMethodEnabled="False"
                                                      HorizontalContentAlignment="Center" VerticalContentAlignment="Center" SelectedIndex="0"></ComboBox>
                                            </StackPanel>
                                        </DataTemplate>
                                    </DataGridTemplateColumn.CellTemplate>
                                </DataGridTemplateColumn>
                            </DataGrid.Columns>

                        </DataGrid>

背景代码:

                _dg_DataGrid.CommitEdit();
                for (int k = 0; k < _dg_DataGrid.Items.Count; k++)
                {
                    //首先获取DataGridTemplateColumn所在列
                    DataGridTemplateColumn componentType_tempColumn = this._dg_DataGrid.Columns.Where(r => r.Header.Equals("列名")).FirstOrDefault() as DataGridTemplateColumn;

                    //然后获取DataGridTemplateColumn单元格元素
                    FrameworkElement componentType_element = componentType_tempColumn.GetCellContent(this._dg_DataGrid.Items[k]);

                    if (componentType_element != null)//构件类型
                    {
                        //将单元格元素转换为相应的控件,然后从控件中获取值。
                        ComboBox componentType = componentType_tempColumn.CellTemplate.FindName("控件Name", componentType_element) as ComboBox;
                    }
                }
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门