Laden...

Höhe von Parent an die von Child anpassen (Synchronisierung)

Erstellt von Brendan vor 7 Jahren Letzter Beitrag vor 7 Jahren 538 Views
B
Brendan Themenstarter:in
39 Beiträge seit 2006
vor 7 Jahren
Höhe von Parent an die von Child anpassen (Synchronisierung)

Hallo,

Ich entwickle mit VS 2015 und WPF einen Maskendesigner, in dem man per Drag&Drop neue Controls einfügen, verschieben und resizen kann.
Eines dieser Controls ist ein Label, dessen Content wiederum ein TextBlock ist.

In XAML sieht das folgendermaßen aus:

    <Label Background="AliceBlue" HorizontalAlignment="Left" Margin="10,5,0,0" VerticalAlignment="Top">
        <TextBlock TextWrapping="Wrap" Height="Auto">Label</TextBlock>
    </Label>

Beim TextBlock habe ich TextWrapping auf "Wrap" und Height auf "Auto" gestellt.
Wenn ich nun versuche, die Höhe des Labels bis zu seinem erlaubten Minimum zu reduzieren, sollte der Content des TextBlock noch immer vollständig angezeigt werden.
Testweise habe ich dies mit einem reinen TextBlock ausprobiert und da hat es dank Height="Auto" funktioniert.

Wenn ich es nun aber mit einem Label versuche, das einen TextBlock als Content hat, wird beim Minimieren der Höhe der Content des TextBlock nicht mehr vollständig angezeigt.

Gibt es in XAML eine Möglichkeit, Eigenschaften des Parent mit denen von Children zu synchronisieren?
Dass der umgekehrte Weg geht (Children zu Parent) weiss ich.

Vielen Dank im voraus!

Hinweis von Coffeebean vor 7 Jahren

Bitte benutze die richtigen Code Tags: [Hinweis] Wie poste ich richtig? Punkt 6

Die Lösung ist immer ganz einfach.
Nur der Weg dorthin ist schwierig!

S
506 Beiträge seit 2006
vor 7 Jahren

Synchronisierung von Eigenschaften bekommt man mit Bindings hin.

Das Label passt sich aber eigentlich der größe des Inhaltes an, sofern das übergeordnete Panal das erlaubt.

Das Label hat im default Style ein Padding. Wenn du die Labelgröße manuell auf die Größe des TextBlocks setzt, wird das Padding stören in dem es das innere Control abschneidet. Probier mal das Padding auf 0 zu setzen.