## 前端
<dxg:GridControl Grid.Row="1" x:Name="dgTaskAllocation">
<dxg:GridControl.View>
<dxg:TableView ShowGroupPanel="False" AllowEditing="False" WaitIndicatorType="Panel" RowDoubleClick="TableView_RowDoubleClick">
<dxg:TableView.ColumnHeaderContentStyle>
<Style TargetType="{x:Type ContentControl}">
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</dxg:TableView.ColumnHeaderContentStyle>
</dxg:TableView>
</dxg:GridControl.View>
<dxg:GridControl.Columns>
<dxg:GridColumn Header="选择" SortIndex="0" FieldName="Check" Width="50" SortOrder="Ascending">
<dxg:GridColumn.CellTemplate x:Uid="cl">
<DataTemplate>
<dxe:CheckEdit x:Name="dgCheck" IsChecked="False" HorizontalAlignment="Center" Checked="dgCheck_Checked" Unchecked="dgCheck_Unchecked"></dxe:CheckEdit>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Title" Header="标题"/>
</dxg:GridControl.Columns>
</dxg:GridControl>
## 后台代码
private void GetCheck()
{
int selectRow = this.dgTaskAllocation.GetSelectedRowHandles()[0];
FrameworkElement objElement = dgTaskAllocation.Columns.GetColumnByFieldName("Check").View.GetRowElementByRowHandle(selectRow);
CheckEdit checkEdit = FindVisualChild<CheckEdit>(objElement, "dgCheck");
checkEdit.IsChecked = true;
}
public static childitem FindVisualChild<childitem>(DependencyObject obj, string name)
where childitem : FrameworkElement
{
if (obj == null)
return null;
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
{
DependencyObject child = VisualTreeHelper.GetChild(obj, i);
if (child != null && child is childitem && ((childitem)child).Name == name)
return (childitem)child;
else
{
childitem childOfChild = FindVisualChild<childitem>(child, name);
if (childOfChild != null)
return childOfChild;
}
}
return null;
}