Цель использования FrameworkElementFactory

В одном из приложений, над которыми я работаю, я нашел этот код -

public class MatrixCellTemplate : ColumnDataTemplate<MatrixCellContainer>
{
}

public class ColumnDataTemplate<T> : DataTemplate where T : FrameworkElement
{
    public ColumnDataTemplate()
    {
        FrameworkElementFactory factory = new FrameworkElementFactory(typeof(T));
        VisualTree = factory;
    }
}

Этот MatrixCellTemplate используется для установки CellTemplate пользовательского DataGridTemplateColumn (позже добавленного в коллекцию DataGrid.Columns ) вроде этого -

<DataGridTemplateColumn.CellTemplate>
    <Matrix:MatrixCellTemplate />
</DataGridTemplateColumn.CellTemplate>

Я не уверен, каковы преимущества использования этого FrameworkElementFactory и с какой проблемой я могу столкнуться, если я напрямую использую MatrixCellContainer в качестве шаблона ячейки -

<DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
        <Matrix:MatrixCellContainer>
        </Matrix:MatrixCellContainer>
    </DataTemplate>
    <!--<Matrix:MatrixCellTemplate />-->
</DataGridTemplateColumn.CellTemplate>
5
задан akjoshi 16 July 2015 в 10:22
поделиться