1

このように、2 つの selectionchanged イベントが必要です。

protected override void xpathList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//my code
}

private void xpathList_SelectionChanged(object sender, SelectionChangedEventsArgs e)
{
//my code
}

次のエラーが発生しますType 'TestApp.MainPage' already defines a member called 'xpathList_SelectionChanged' with the same parameter type
どうすればこれを解決できますか?

4

3 に答える 3

3

同じ署名で同じメソッドを作成することはできません。2 つの異なる方法で 1 つのコントロールの 1 つのイベントを処理する場合は、次のようなコードを使用する必要があります。

Page_Init()
{
    //initialization code
    xpathList.OnSelectionChanged += xpathList_SelectionChanged1;
    xpathList.OnSelectionChanged += xpathList_SelectionChanged2;
}

protected void xpathList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//my code
}

protected void xpathList_SelectionChanged2(object sender, SelectionChangedEventsArgs e)
{
//my code
}

マークアップからイベント ハンドラー宣言を削除します。

方法: ASP.NET Web ページでイベント ハンドラーを作成する

于 2011-07-17T13:58:41.330 に答える
1

名前の異なる 2 つのメソッドを作成する必要があります。

2 つ目のハンドラーを手動で追加する必要があります。デザイナーは、1 つのイベントに 2 つのハンドラーを追加することはできません。
書くxpathList.SelectionChanged += SomeMethod

于 2011-07-17T13:57:56.020 に答える
1

2 つの関数を 1 つの関数にバインドしてみませんか?

XPathList xpathList = new XPathList();
xpathList.OnSelectionChanged +=(s,e) => FirstHandler(s,e);
xpathList.OnSelectionChanged += (s,e) => SecondHandler(s,e);
于 2011-07-17T13:59:39.743 に答える