2010-01-26 9 views
1

내 WPF 사용자 지정 컨트롤에일반 제어 템플릿을 쓰고 있습니다. 그러나 ItemsPresenter을 사용하면 데이터의 원시 목록 만 가져 왔습니다. ListBox와 비교하여 ListBox에는 필요한 모든 기능이 있습니다.ListBox?

ItemsPresenter 대신 ListBox을 사용하는 것이 잘못 되었습니까?

무엇 난 후 것은 그 나는 ListBox 코드에 좀 ListBox 특정 이벤트를 등록하고 누군가가 무시 뒤에를 사용하는 일반적인 템플릿을 작성 경우 내 자신의 ControlTemplate witn의와 그 내부의 ItemsControl이 소유하지 않는 Template 일반 그 이벤트는 Exception을 발생시킵니다. ItemsPresenter의 경우 모든 사람이 원하는 것을 사용할 수 있습니다.

감사합니다.

답변

0

템플릿의 ItemsControl이 ListBox인지 아닌지 확인하기 위해 테스트를 추가 할 수 있다고 생각합니다. 예 :

var itemsControl = this.Template.FindName("PART_Items", this); 
if(itemsControl is ListBox) 
{ 
    // wire additional event handler here 
}