方法FrameworkElement.FindName没有重载需要1个参数

时间:2014-12-10 10:53:43

标签: c# .net frameworkelement findname

所以我有一些代码:

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   元素被发现。

那么为什么我的编译器会引发这个错误?

2 个答案:

答案 0 :(得分:2)

GridViewColumnHeader.TemplateControlTemplate,其继承自FrameworkTemplate,而不是FrameworkElement

来自MSDN

public Object FindName(
    string name,
    FrameworkElement templatedParent
)

答案 1 :(得分:0)

模板的类型为ControlTemplate,继承FrameworkTemplate。后者采用两个参数,而不是一个。