WPF에서는 XAML에서 이벤트 핸들러를 정의 할 수 있습니다 (예 : ComboBox의 SelectionChanged). 그러나, 내가 떠나는 문제는 너무 일찍 해고된다는 것입니다. 컨트롤이 방금 생성되면 유선 연결됩니다. 결과적으로 해당 코드 아래의 다른 컨트롤이 이벤트 처리기에서 참조되는 경우 null 예외가 발생합니다. 이벤트 처리기에서 많은 null 검사가 끝나면 다른 경우에는 불필요합니다. 모든 컨트롤을 만든 후에 모든 이벤트를 연결하고 싶습니다 (예 : OnInitialized). 그것을 할 수있는 방법이 있습니까? 또는 나는 무엇인가 여기에서 놓쳤 느냐?WPF : XAML에 정의 된 이벤트 발생을 지연시키는 방법?
2
A
답변
2
가장 좋은 솔루션은 생성자에서 InitializeComponent()
호출 후 코드 숨김에서 이러한 이벤트 처리기를 직접 정의하는 것이라고 생각합니다. 물론 이것은 더 이상 XAML이 아니지만 핸들러가 참조 할 수있는 모든 컨트롤이 이미 만들어 졌는지 확인하는 유일한 방법입니다.
+0
팁 주셔서 감사. 나는 대부분의 이벤트 핸들러를이 방법으로 정의했다. 그러나 어쨌든 (WinForm 디자이너에서와 마찬가지로) XAML에서 선언 된 핸들러를 조금 더 깨끗하게 처리한다고 느낍니다. 일관성있게 만들고 싶기 때문에 전체 프로젝트에 대해 한 가지 방법이나 다른 방법을 선택해야합니다. – newman
0
관련 문제
- 1. WPF xaml에 정의 된 컨트롤의 인스턴스를 만듭니다.
- 2. 라우팅 된 이벤트 (wpf)
- 3. WPF - 느슨한 XAML에 DynamicResource 사용
- 4. 데이터 바인딩 된 WPF ComboBox에 XAML에 정의 된 선택 항목이 있습니까?
- 5. xaml에 사용자 정의 네임 스페이스 추가
- 6. 동적으로로드 된 xaml에 바인딩이 적용되지 않았습니다.
- 7. (jquery에서) 애니메이션을 지연시키는 방법
- 8. Default.png를 지연시키는 방법?
- 9. XAML에 변환기를 주입하는 방법
- 10. dblclick 이벤트가 발생하면 클릭 이벤트 발생을 방지합니다.
- 11. WPF 라우팅 된 이벤트 발생?
- 12. IE/Firefox에서 이벤트 발생을 클릭했지만 Chrome에서 이벤트 할당을 취소합니다.
- 13. WPF RichTextBox TextChanged 이벤트 - 삭제되거나 삽입 된 텍스트를 찾는 방법?
- 14. Aptana에서 Javascript의 발생을 표시하는 방법?
- 15. 인공 지능 이동을 지연시키는 방법
- 16. XAML에 ←을 만드는 방법
- 17. 개체 사이의 WPF 이벤트 처리
- 18. 이벤트가 첨부 된 드롭 다운 목록에서 jquery 이벤트 발생을 방지하는 방법
- 19. WPF의 사용자 정의 첨부 이벤트
- 20. TextBlock의 라우팅 된 이벤트
- 21. XAML에 표시되는 개체
- 22. XAML에 대해
- 23. WPF 응용 프로그램에서 언로드 된 이벤트 취소
- 24. 동적으로 생성 된 WPF 요소에 이벤트 추가
- 25. WPF 및 동적으로 생성 된 컨트롤의 이벤트
- 26. DataGrid : CellEditingTemplate에 정의 된 컨트롤에 액세스하는 방법
- 27. 동적으로로드 된 사용자 정의 컨트롤에서 이벤트 발생시키기
- 28. WPF ListItem 이벤트 확대
- 29. WinForms의 Interop WPF, WPF 컨트롤의 이벤트 처리 방법
- 30. WPF 중첩 된 사용자 정의 컨트롤
코드를 게시 할 수 있습니까? SelectedItem에 아무것도 바인딩합니까? – Vitalik