C# wpf datagrid在xaml中的前两个单元格或大于1的列索引之后应用单元格模板

C# wpf datagrid在xaml中的前两个单元格或大于1的列索引之后应用单元格模板,c#,wpf,xaml,C#,Wpf,Xaml,我已经创建了单元模板,单元模板内部添加了数据类型为double的数据模板。我想在数据网格的前两列之后应用单元格模板或数据模板 如何执行此操作您可以使用DataGridTemplateColumn.CellTemplateSelector根据某些条件选择模板 我很快找到了这个 看看是否对您有好处。我正在尝试此链接,但在我的情况下,列是自动生成的,我没有任何列定义,在上面的链接中,每个列定义都是单独的datatemplateDataGrid提供了一个名为AutoGeneratingColumn的事件

我已经创建了单元模板,单元模板内部添加了数据类型为double的数据模板。我想在数据网格的前两列之后应用单元格模板或数据模板


如何执行此操作

您可以使用DataGridTemplateColumn.CellTemplateSelector根据某些条件选择模板

我很快找到了这个


看看是否对您有好处。

我正在尝试此链接,但在我的情况下,列是自动生成的,我没有任何列定义,在上面的链接中,每个列定义都是单独的datatemplateDataGrid提供了一个名为AutoGeneratingColumn的事件。你可以跳进这个事件来修复它,像这样的事情虽然我个人讨厌自动生成的列,但是你不能定义你想要操作的前几个吗?多亏了Muds,我给了数据模板,只有特定的列在索引上循环,在datagrid的AutogenerateColumns事件中它对我有效
 for (int i = 0; i < gridHolesList.Columns.Count; i++)
{
    if (gridHolesList.Columns[i].FieldName == "#" || gridHolesList.Columns[i].FieldName == "Name")
    {
        continue;
    }
    string cellTemplate = @"
    <DataTemplate xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation""
                 xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml""
                  xmlns:dxe=""http://schemas.devexpress.com/winfx/2008/xaml/editors"">
       <dxe:TextEdit x:Name=""PART_Editor""
                   EditValue=""{Binding RelativeSource={RelativeSource Self},Mode=OneWayToSource , Path=EditValue,
                                                                          Converter={StaticResource FeetInchesInputConverter} , 
                                                                          UpdateSourceTrigger=PropertyChanged}""
                     Style=""{StaticResource FeetInchesRegualarExpression}"" 
  />

 </DataTemplate>";

    gridHolesList.Columns[i].CellTemplate = XamlReader.Parse(cellTemplate) as DataTemplate;
    gridHolesList.Columns[i].SortOrder = DevExpress.Data.ColumnSortOrder.Ascending;
}