0

だから私はいくつかのコードを持っています:

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のドキュメントに、引数を 1 つ取るメソッドが明確に示されていることです。

public Object FindName( 文字列名 )

パラメーター名 タイプ: System.String

要求された要素の名前。

戻り値の型: System.Object

要求された要素。一致する要素が見つからない場合、これは null になる可能性があります。

では、なぜ私のコンパイラはこのエラーを発生させるのでしょうか?

4

2 に答える 2

2

GridViewColumnHeader.TemplateではなくControlTemplateから継承するです。FrameworkTemplateFrameworkElement

MSDNから:

public Object FindName(
    string name,
    FrameworkElement templatedParent
)
于 2014-12-10T11:01:24.207 に答える
0

Template には、FrameworkTemplateを継承するControlTemplate型があります。後者は、1 つではなく 2 つのパラメーターを取ります。

于 2014-12-10T11:02:41.293 に答える