Windows Phone 7.1 (7.5) 앱에서 작업하고 있습니다. 아이디어 : 응용 프로그램은 서버에서 데이터 목록을 가져 와서 각각에 대해 TextBlock을 만들고 각각에 대해 Tap 이벤트 처리기를 적용합니다. 문제 : 모든 요소에 대해 하나의 처리기 만 사용할 수 있으므로 보낸 사람을 식별하는 방법은 무엇입니까?동적으로 생성 된 요소의 이벤트 처리기
새로운 TextBlock을 생성하는 부분(참고 : itemsAdded는 외부 변수이다, 즉 적절한 마진을 설정할 수있다)
void addInfoItem(string text)
{
Thickness tempThick = fatherText.Margin;
tempThick.Top += itemsAdded * 58;
itemsAdded++;
TextBlock temp = new TextBlock() { Text = text, FontSize = 40, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = tempThick };
temp.Tap += whenTapped;
ContentPanel.Children.Add(temp);
}
whanTapped 이벤트 핸들러 :
private void whenTapped(object sender, RoutedEventArgs e)
{
//how to identify the sender?
}
때 디버깅 " 객체 발신자 "는 보낸 사람을 식별 할 수있는 충분한 정보를 제공합니다. TextBlock의"Text "속성이지만 코딩하는 동안"object sender "에서 가져온 것은 Equals, GetHashCode, GetType, ToString입니다. (ToString은 일반적으로 이것이 TextBlock이라는 것을 말해줍니다.
감사 (10 분에 올바른 답으로 =) 야 마크를 작동 말한다 내가 할 수 아직) –
@IgnasLaukineitis : 그것은 내 모든 특권입니다. –