所以我有一些代码:
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
但是,与其他任何问题不同的是,FrameworkElement.FindName的Microsoft文档清楚地显示了一个带有一个参数的方法:
public Object FindName(字符串名称)
参数名称类型: System.String
请求元素的名称。
返回值类型: System.Object
请求的元素。如果没有匹配,则可以为null 元素被发现。
那么为什么我的编译器会引发这个错误?
答案 0 :(得分:2)
GridViewColumnHeader.Template
是ControlTemplate
,其继承自FrameworkTemplate
,而不是FrameworkElement
:
来自MSDN:
public Object FindName(
string name,
FrameworkElement templatedParent
)
答案 1 :(得分:0)
模板的类型为ControlTemplate,继承FrameworkTemplate。后者采用两个参数,而不是一个。