在WPF中获取DATAGRIDTEMPLATECOLUMN模板定义的内容控件(转载)
原文:http://www.cnblogs.com/eric_ibm/p/3772516.html
xaml格式描述:
<DataGrid Name="dataGrid" Grid.Row="1" ItemsSource="{Binding}" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="描述">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Expander x:Name="expander" Header="{Binding Describe}">
<TextBlock Text="{Binding Path=Exception}" TextWrapping="Wrap" MinHeight="30" MinWidth="250" />
</Expander>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
现在要获取expander控件,代码如下:
int index = dataGrid.CurrentCell.Column.DisplayIndex;
DataGridTemplateColumn templeColumn = dataGrid.Columns[index] as DataGridTemplateColumn;
if(templeColumn == null) return;
object item = dataGrid.CurrentCell.Item;
FrameworkElement element = templeColumn.GetCellContent(item);
Expander expander= templeColumn.CellTemplate.FindName("expander", element);