Нет перегрузки для метода FrameworkElement.FindName принимает 1 аргумент
Итак, у меня есть код:
var columnHeader = (e.OriginalSource as GridViewColumnHeader);
var temp = columnHeader.Template.FindName("Up");
Когда я щелкаю свой GridViewColumnHeader, я запускаю этот код. Но линия columnHeader.Template.FindName("Up")
поднимает ошибку:No overload for method 'FindName' takes 1 arguments
Но что отличает это от любого другого вопроса, так это документация Microsoft для FrameworkElement.FindName четко показывает метод, который принимает один аргумент:
публичный объект FindName (имя строки)
Имя параметра Тип: System.String
Имя запрошенного элемента.
Возвращаемое значение Тип: System.Object
Запрашиваемый элемент. Это может быть ноль, если не найдено ни одного соответствующего элемента.
Так почему мой компилятор вызывает эту ошибку?
2 ответа
GridViewColumnHeader.Template
это ControlTemplate
, который наследует от FrameworkTemplate
не FrameworkElement
:
Из MSDN:
public Object FindName(
string name,
FrameworkElement templatedParent
)
Шаблон имеет тип ControlTemplate, который наследует FrameworkTemplate. Последний принимает два параметра, а не один.