Ich schreibe einen Test. Ich analysieren XAML Elemente XamlReader.Parse MethodeSo laden Sie FrameworkElement
<StackPanel x:Name='Element1'>
<ContentControl x:Name='Element6'>
<Button x:Name='Element7'>
<Label x:Name='Element8' />
</Button>
</ContentControl>
<Button x:Name='Element2' />
<FrameworkElement x:Name='Element3' />
<Button />
<DockPanel x:Name='Element4' />
<FrameworkElement x:Name='Element5' />
<FrameworkElement />
</StackPanel>
Next ich jedes visuelle Element erhalten mit iterieren wollen. Ich verwende VisualTreeHelper.GetChildrenCount und VisualTreeHelper.GetChild Methoden. VisualTreeHelper.GetChildrenCount für root StackPanel gibt 7 zurück und es ist richtig. Aber für ContentControl (Element 6) VisualTreeHelper.GetChildrenCount gibt 0 zurück.
Ich überprüft IsLoaded Eigenschaft und es hatte 'false' Wert. Dies bedeutet, dass ContentTemplate für ContentControl nicht geladen ist.
Ich möchte wissen, wie ich das Laden der Kontrolle initiieren kann.
ich Ihnen auch nur für die 'ContentControl.Loaded' Ereignis warten glauben konnte - etwas unter der Annahme, schließlich Laden in die Steuerung – Charleh
@Charleh, nein. Ich habe auch darüber nachgedacht. Geparste Elemente werden jedoch erst geladen, wenn sie im Fenster angezeigt werden. –