Получить объект, созданный новым FrameworkElementFactory(typeof(T))
Мы добавляем 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 из 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.
Что я пропускаю?
Спасибо --