当前位置: 代码迷 >> 综合 >> WPF 获取DataGrid里的模板内的ComboBox控件内容的方法
  详细解决方案

WPF 获取DataGrid里的模板内的ComboBox控件内容的方法

热度:82   发布时间:2024-02-22 13:47:30.0

找了很久才找到,在这里总结一下

 

xaml格式描述:       

<DataGrid x:Name="DATA_Grid" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="5" BorderBrush="Black" ItemsSource="{Binding}" 
                  AutoGenerateColumns="True" CanUserAddRows="False" CanUserDeleteRows="False" >      
            <DataGrid.Columns>
                <DataGridTextColumn x:Name="textbox2" Header="类型" Width="150" Binding="{Binding Family}" IsReadOnly="True" />

                <DataGridTemplateColumn Header="项目编码" Width="200" >
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <ComboBox  x:Name="combobox2" ItemsSource="{Binding ProjectCode}" IsEditable="True" SelectedIndex="0" />
                        </DataTemplate> 
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>

 

xaml.cs格式描述:

            DataGridTemplateColumn tempColumn1 = DATA_Grid.Columns[1] as DataGridTemplateColumn;
            FrameworkElement element1 = tempColumn1.GetCellContent(DATA_Grid.Items[0]);
            ComboBox comboBox1 = tempColumn1.CellTemplate.FindName("combobox2", element1) as ComboBox;

            info += "\n\r comboBox1:   " + comboBox1.Text;

            MessageBox.Show("项目参数修改结果: \n" + info, "提示");