Я создал пользовательский элемент управления и добавил в сетку данных, используя код позади. Для управления пользователем я создал 2 конструктора для передачи данных для показа.
Пользовательский конструктор управления:
public OverlayControlView()
{
InitializeComponent();
}
public OverlayControlView(string value, List<Function> functionList)
{
InitializeComponent();
OverlayValue = value;
OverlayMenuItem = functionList;
}
Добавление пользовательского элемента управления в сетку данных:
var overlayControlView = new OverlayControlView(caption, functionList);
FrameworkElementFactory factory = new FrameworkElementFactory(overlayControlView.GetType());
var dataTemplate = new DataTemplate(typeof(DependencyObject));
dataTemplate.VisualTree = factory;
dataGridTemplateColumn.CellTemplate = dataTemplate;
dataGrid.Columns.Add(dataGridTemplateColumn);
Проблема в том, что после добавления пользовательского элемента управления в сетку его всегда вызывающий параметр без конструктора и значение внутри пользовательского элемента управления становятся пустыми. Сначала он вызывает конструктор параметров, когда я программно добавляю пользовательский элемент управления, затем он автоматически вызывает конструктор без параметров.
Как решить эту проблему!