FrameworkElement.Parent Egenskap

Definition

Hämtar elementets logiska överordnade element.

public:
 property System::Windows::DependencyObject ^ Parent { System::Windows::DependencyObject ^ get(); };
public System.Windows.DependencyObject Parent { get; }
member this.Parent : System.Windows.DependencyObject
Public ReadOnly Property Parent As DependencyObject

Egenskapsvärde

Det här elementets logiska överordnade element.

Exempel

I följande exempel visas kod som söker efter ett elements överordnade element och sedan använder egenskapsvärden från det överordnade elementet för att ange egenskaper för det underordnade elementet som ska matchas. I det här fallet är det egenskaper som påverkar återgivningsstorleken.

private void OnUIReady(object sender, System.EventArgs e)
{
    LinePane.Width = ((StackPanel)LinePane.Parent).ActualWidth;
    LinePane.Height = ((StackPanel)LinePane.Parent).ActualHeight;
    DesignerPane.MouseLeave += new System.Windows.Input.MouseEventHandler(DesignerPane_MouseLeave);
    this.SizeChanged += new SizeChangedEventHandler(Window1_SizeChanged);
}
Private Sub OnUIReady(ByVal sender As Object, ByVal e As System.EventArgs)
    LinePane.Width = (CType(LinePane.Parent, StackPanel)).ActualWidth
    LinePane.Height = (CType(LinePane.Parent, StackPanel)).ActualHeight
    AddHandler DesignerPane.MouseLeave, AddressOf DesignerPane_MouseLeave
    AddHandler SizeChanged, AddressOf Window1_SizeChanged
End Sub

Kommentarer

Parent kan vara null i fall där ett element instansierades, men inte är kopplat till något logiskt träd som så småningom ansluter till rotelementet på sidnivå eller programobjektet.

Observera att det logiska överordnat elementet kan ändras beroende på programmets funktioner, och att behålla värdet för den här egenskapen återspeglar inte den ändringen. Du bör vanligtvis hämta värdet omedelbart innan du behöver det.

Se Trees i WPF för mer information om logisk trädbläddering och scenarier där det är lämpligt att använda Parent som en metod för identifiering av överordnade element.

Egenskapsmotorn beräknar eventuellt om alla egenskapsvärden för ett element när det tas bort, eftersom vissa egenskaper ärver värden via det logiska trädet. Det DataContext som gäller för bindningar kan också ändras när elementen har ändrats.

Att ändra ett elements överordnade objekt görs vanligtvis bara genom manipulering av samlingar, med hjälp av dedikerade metoder för att lägga till eller ta bort eller genom att ange innehållsegenskaper för element.

Det vanligaste scenariot för att använda Parent egenskapen är att hämta en referens och sedan hämta olika FrameworkElement egenskapsvärden från den överordnade egenskapen. För mallar blir Parentmallen null så småningom . Om du vill komma förbi den här punkten och utöka till det logiska trädet där mallen faktiskt tillämpas använder du TemplatedParent.

Observera att den här egenskapen inte rapporterar visuella trädföräldrar i fall där dessa varierar från de logiska trädföräldrarna. Överordnade visuella träd är vanligtvis inte viktiga för allmänna programfall, men kan vara önskade överordnade element för vissa fall på visuell nivå. Se även VisualTreeHelper.

Gäller för

Se även