Ich bin neu im WPF-Programmiermodell. Ich habe einige Anfragen:WPF FrameworkElement
Does Seite Tag in XAML (in einer XBAP-Anwendung) ist vom Typ
FrameworkElement
?Wenn ich ein Kindelement habe, sagen wir, Rahmen in einer Seite. Ich übergebe dieses Rahmenelement in einer Funktion in einer anderen Baugruppe. Jetzt versuche ich, zur Eltern-Eigenschaft der Seite aus dem Frame-Steuerelement zurück zu navigieren. Ich kann keinen Verweis auf Page erhalten. Irgendwelche Gedanken?
Die Funktion, die ich in einer anderen Baugruppe bin mit der übergeordneten Seite von Kind
Page getTopParent(FrameworkElement f)
{
FrameworkElement ct = f;
while (true)
{
if (ct is Page)
{
break;
}
ct = (FrameworkElement)
ct.Parent;
}
return ct as Page;
}
Please find example XAML
Kontrolle zu bekommen </Datatrigger> < /DataTemplate.Triggers> ->
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<StackPanel HorizontalAlignment="Left">
<Frame Name="tabContent" Height="520" Width="820" local:WebBrowserBehavior.Source="{Binding Path=CurrentPage}" ContentRendered="tabItem_contentRendered"/>
</StackPanel>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
<StackPanel Orientation="Horizontal" Name="taskBar" Height="34" VerticalAlignment="Bottom">
<Button Height="23" Name="helpButton" Width="43" Content="Help" Click="helpButton_Click"/>
</StackPanel>
</StackPanel>
Danke für die Antwort. Page getTopParent (FrameworkElement f) {FrameworkElement ct = f; while (wahr) { wenn (ct ist Seite) { break; } ct = (FrameworkElement) ct.Parent; } Rückgabe ct als Seite; } –
Danke, nun, ich habe gerade überprüft und ich denke, es spielt keine Rolle, ob ich es in der gleichen Baugruppe oder einer anderen übergeben. Ja, mein Page-Element enthält Steuerungs- und Datenvorlagen? Gibt es eine Möglichkeit, die Elternseite zu bekommen, selbst wenn ich Vorlagen in meiner Seite habe. –