Проблема при добавлении пользовательского элемента управления в сетку данных с использованием wpf программно - PullRequest
0 голосов
/ 16 ноября 2018

Я создал пользовательский элемент управления и добавил в сетку данных, используя код позади. Для управления пользователем я создал 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);

Проблема в том, что после добавления пользовательского элемента управления в сетку его всегда вызывающий параметр без конструктора и значение внутри пользовательского элемента управления становятся пустыми. Сначала он вызывает конструктор параметров, когда я программно добавляю пользовательский элемент управления, затем он автоматически вызывает конструктор без параметров.

Как решить эту проблему!

...