我有一個創建的經由反射綁定作爲一個DataContext到TabControl
並且被表示爲其中內容被綁定爲創建的控制,其通過使用反射完成ContentPresenter
控件控制列表的窗口。有人可以解釋我這種WPF事件的奇怪行爲嗎?
<TabControl.ContentTemplate>
<DataTemplate>
<ContentPresenter Content="{Binding sub}" Loaded="smb_Loaded">
</ContentPresenter>
</DataTemplate>
</TabControl.ContentTemplate>
創作,我需要一些東西做給創建的控件(他們中的每單一個)像subcribing到他們的活動或乳寧某些方法或線程之後,所以我想有它後,正在做初始化或創建對象。我試圖在「初始化」或「加載」事件之後完成這些工作,但是隻有在第一次加載時纔會觸發它們。 如果我用反射創建3個控件,我將有3個標籤,其內容爲ContentPresenters
,其中包含控件。當我選擇一個標籤時,該事件將被觸發。如果我然後選擇另一個,它將不會被觸發,直到我重新運行該應用程序。
能否請你重新整理這部分:*的東西要做,以創建控件(他們中的每個人)*?這很難理解。 – DHN
選項卡控件有點特殊項目控制 - 它顯示項目列表(選項卡項目),但只有一個內容演示者顯示每個項目的內容。您可能想要聽取選項卡控件上的SelectionChanged。 – XAMeLi
創建這些控件後,我將控件設置爲內容展示器中的內容,如上面的代碼中所示。在創建和插入表單之後,我需要了解這些動態創建的控件的幾個事件以及一些初始化的東西。我需要一個事件在創建後觸發,但「Isinitialized」事件僅在第一個控件上觸發。從來沒有在別人身上。 – user853710