2010-12-12 6 views
1

이 작업은 매우 혼란 스럽습니다. EventToCommand를 사용하여 ItemsControl의 DataTemplate에 정의 된 컨트롤에 대한 이벤트를 바인딩하려고합니다. Blend에서 바인딩을 시도 할 때 Main 및 MainStatic의 두 가지 옵션이 제공됩니다. 왜? EventToCommand를 사용하여 ItemsControl 외부에 정의 된 단추에 바인딩 할 때 Main 만 볼 수 있으며이 동작은 올바르게 작동합니다. ItemsControl DataTemplate 컨트롤에 Binding을 함수로 전달할 수없고 Main/MainStatic과 둘 다 옵션이 필요하다고 느낄 수 없습니다. {Binding CellChanged}, {Binding Main.CellChanged} 및 {Binding MainStatic.CellChanged}을 사용하여 바인딩을 시도했지만 해당 옵션 중 아무 것도 작동하지 않았습니다. 이벤트 링키지는 뷰의 코드에 정의 된 경우 제대로 작동하지만 원하는 작업이 아니므로 MVVM-Light 툴킷의 제한 사항이라고 생각합니다.ItemsControl 템플릿 바인딩 (Main 및 MainStatic 모두 옵션으로 표시)

답변

1

마치 EventToCommand의 제한 사항 인 것처럼 보입니다. ItemsControl의 DataTemplate에 정의 된 컨트롤 대신 ItemsControl에서 직접 EventToCommand를 사용하면 컨트롤이 제대로 작동합니다. 효과가 있으면 좋겠지 만 해결 방법이 있습니다. TextChanged 이벤트를 사용할 수 없지만 ItemsControl의 Keyup 이벤트에 연결하여 동일한 작업을 수행 할 수 있습니다.

관련 문제