저는 개인 프로젝트로 간단한 메신저 프로그램을 만들고 있으며, 약간의 걸림돌을 맞았습니다. 정말 화장품 일 뿐이지 만 문제가 있습니다. 메인 윈도우에있는 모든 사용자의 내용을 나열하는 사이드 바가 있습니다. 사용자가 연락처 이름을 클릭하면 메인 윈도우의 채팅 영역에 탭이 열리도록 설정하고 싶습니다. 그 연락처와 연 채팅 세션. 이것의 가장 중요한 부분은 MouseDoubleClick 이벤트를 시작한 Label (이 경우) 인 UIElement를 가져올 수 있다는 것입니다. 액세스 할 수있게되면 연결에 필요한 정보에 액세스 할 수 있습니다. 불행히도 마우스 이벤트에 약간 녹슬었고 이벤트가 시작된 후 Label으로 돌아갈 방법을 알 수 없습니다.MouseDoubleClick 이벤트를 트리거 한 UIElement를 얻으려면 어떻게해야합니까?
foreach (ContactInfo contact in ContactList)
{
Label currentContact = new Label();
currentContact.Content = contact.ContactName.ToString() + " (" + contact.MachineName.ToString() + ")";
currentContact.MouseDoubleClick += new MouseButtonEventHandler(ContactDoubleClickHandler);
StckPnl_Contacts.Children.Add(currentContact);
}
을 그리고 (현재 비어 있음) 핸들러가 이것이다 :
public void ContactDoubleClickHandler(object sender, MouseButtonEventArgs e)
{
}
내가 길을 잘못 이것에 대해 건가 다음과 같이 프로그래밍 라벨을 만들 때 내 소스 코드는? 어떤 도움을 주시면 감사하겠습니다.
레이블이 클릭 이벤트를 올바르게 처리하면 100 %가 아닙니다. 그럴 경우 "보낸 사람"매개 변수를 검사하십시오. – wgraham
보낸 사람 만 Equals, GetHashCode, GetType 및 ToString을 제공합니다. 따라서 클릭 이벤트를 제대로 처리하지 못했다고 생각하십니까? –
intellisense를 통해 잘, 예 - 그것은 객체로 정의 되었기 때문입니다. 처리기에 더미 코드를 넣고 중단 점을 설정하지 마십시오. 실제로 보낸 사람 *이 무엇인지 알아보십시오. – wgraham