나는 반사를 통해 TabControl
에 대한 datacontext로 바인딩 된 컨트롤리스트를 생성하고 리플렉션을 사용하여 만들어진 콘텐트가 콘텐트가 바인딩 된 곳인 ContentPresenter
콘트롤로 표현되는 윈도우를 가지고있다. 나는 몇 가지 물건들이 이벤트에 subcribing 또는 어떤 방법 또는 스레드를들이받은 같은 생성 된 컨트롤 (그들의 모든 하나 하나)에 수행해야 생성 후 누군가 WPF 이벤트의 이상한 동작을 설명 할 수 있습니까?
<TabControl.ContentTemplate>
<DataTemplate>
<ContentPresenter Content="{Binding sub}" Loaded="smb_Loaded">
</ContentPresenter>
</DataTemplate>
</TabControl.ContentTemplate>
, 그래서 나는 그것이 이후에 수행되는 것으로 원 개체의 초기화 또는 생성. 이 물건을 "Initialized"또는 "Loaded"이벤트 이후에 처리하려고 시도했지만 둘 다 첫 번째 컨트롤 만로드 할 때만 트리거됩니다. 리플렉션을 사용하여 3 개의 컨트롤을 만드는 경우 컨트롤이 들어있는 내용이
ContentPresenters
인 탭이 3 개 있습니다. 하나의 탭을 선택하면 이벤트가 트리거됩니다. 그런 다음 다른 응용 프로그램을 선택하면 응용 프로그램을 다시 실행할 때까지 전혀 트리거되지 않습니다.
당신이이 부분을 바꿔 주실 래요 ... 관련 코드를 게시해야합니다 rhe 만든 컨트롤 (모두) *? 이해하기 어렵습니다. – DHN
탭 컨트롤은 특정 항목 컨트롤입니다. 항목 목록 (탭 항목)을 표시하지만 각 항목의 내용을 표시하는 내용 발표자는 하나뿐입니다. 탭 컨트롤에서'SelectionChanged '를들을 수 있습니다. – XAMeLi
이러한 컨트롤을 만든 후에 위 코드와 같이 컨트롤을 콘텐츠 발표자의 콘텐츠로 설정합니다. 폼을 만들고 삽입 한 후에 동적으로 생성 된 컨트롤의 몇 가지 이벤트에 착수하고 초기화 작업을 수행해야합니다. 생성 된 후에 트리거 할 이벤트가 필요하지만 "Isinitialized"이벤트는 컨트롤의 첫 번째에서만 트리거됩니다. 다른 사람들에게는 절대. – user853710