2011-07-17 3 views
1

C# 다중 선택 변경된 이벤트

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

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

과 같이 2 개의 선택 변경된 이벤트, 을 갖고 싶습니다. 다음과 같은 오류가 발생합니다 : Type 'TestApp.MainPage' already defines a member called 'xpathList_SelectionChanged' with the same parameter type.
어떻게 해결할 수 있습니까?

+1

왜 2가 필요합니까? – ysrb

답변

3

동일한 서명으로 동일한 방법으로 생성 할 수 없습니다. 두 개의 서로 다른 방법으로 하나의 제어를위한 하나 개의 이벤트를 처리하려면 , 당신은 같은 코드를 사용합니다

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 
} 

및 마크 업에서 이벤트 처리기 선언을 제거합니다.

How to: Create Event Handlers in ASP.NET Web Pages

+0

무엇이 이벤트 처리기이며, 또한이 오류 코드'TestApp.MainPage.xpathList_SelectionChanged2 (object, System.Windows.Controls.SelectionChangedEventArgs) '를 얻습니다. 적절한 메서드가 없습니다. –

+0

@ Lark125 이벤트 해머 - 'SelectionChanged' 이벤트입니다. 'override' 키워드를 사용하여 내 대답을 업데이트했습니다. – VMAtm

+0

감사합니다. verry 한 가지로'OnSelectionChanged' 메서드를 찾을 수 없습니다.'SelectionChanged'를 찾을 수 있습니다. –

1

이름이 다른 두 개의 메소드를 만들어야합니다.

두 번째를 수동으로 처리기로 추가해야합니다. 디자이너는 하나의 이벤트에 두 개의 핸들러를 추가 할 수 없습니다.
쓰기 xpathList.SelectionChanged += SomeMethod

1

왜 당신은 심지어 하나에 두 가지 기능을 결합하지?

+0

왜 새 XPathList()를 사용합니까? – VMAtm

+0

그래, 나쁘다,해야한다 XPath'es의 목록 : '목록 ()' –

+0

아니, 왜 새로운 컨트롤을 만드는거야? – VMAtm