Мы добавляем 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.
Что я пропускаю?
Спасибо -