Получить объект, созданный новым FrameworkElementFactory (typeof (T)) - PullRequest
0 голосов
/ 18 октября 2018

Мы добавляем DataGridTemplateColumn в DataGrid и заполняем DGTC комбинированным списком, созданным с помощью

 DataGridTemplateColumn dgtc = new DataGridTemplateColumn();
 FrameworkElementFactory comboBoxFactory = new FrameworkElementFactory(typeof(ComboBox));  
/* snip */
 DataTemplate cellEditTemplate = new DataTemplate();
 cellEditTemplate.VisualTree = comboBoxFactory;
 dgtc.CellEditingTemplate = cellEditTemplate;

 dgtc.SortMemberPath = string.Format($"{descr.BindingPropertyName}");

 dgtc.Header = descr.BindingPropertyName;

Позже нам нужно изменить свойства, такие как TextSearch.TextPathProperty.
Мы получаемCellEditingTemplate from DataGridTemplateColumn;вопрос «Как получить доступ к CellEditingTemplate.VisualTree как комбинированный список»?

Этот код предполагает, что VisualTree является комбинированным списком:

        var cellEditingTemplate = dgtc.CellEditingTemplate;  
        var propsVals = cellEditingTemplate.GetPropertyValues();
        foreach (KeyValuePair<string, string> pair in propsVals)
        {
            Debug.WriteLine($"Key: {pair.Key}     value: {pair.Value}");
        }

Вывод:
Ключ: Введите значение: Windows.Controls.ComboBox

Похоже, что естьнет возможности привести VisualTree к ComboBox.
Что я пропускаю?
Спасибо -

...