Laden...

Wie kann ich von zwei Stellen auf ein StackPanel verweisen um es wieder zu verwenden?

Erstellt von tobi45f vor 3 Jahren Letzter Beitrag vor 3 Jahren 375 Views
T
tobi45f Themenstarter:in
59 Beiträge seit 2017
vor 3 Jahren
Wie kann ich von zwei Stellen auf ein StackPanel verweisen um es wieder zu verwenden?

Hallo zusammen,

ich habe in meiner Anwendung in einem Bereich ein StackPanel mit einigen Childen befüllt. Besagtes StackPanel würde ich gern an einer anderen Stelle genau so nochmal anzeigen. Ich mögchte das gesamte StackPanel verweisen, statt den Code zu kopieren oder aber alle Childen zu verweisen.
Im Folgenden habe ich es mit einem Grid versucht, mit dem StackPanel ist es vermutlich identisch..

Statt:


<Grid x:Name="meinGrid">
                                <TextBox Text="haha" Width="90" x:Name="meinTest"/>
</Grid>

<Grid x:Name="neuesGrid">
                                <TextBox Text="{Binding Text, ElementName=meinTest}" Width="{Binding Width, ElementName=meinTest}"/>
</Grid>

(Ver)suche ich sowas in der Art:


<Grid x:Name="meinGrid">
                                <TextBox Text="haha" Width="90" x:Name="NoNeed"/>
</Grid>
<!--Leider nur "(Sammlung)" als Anzeige statt einer Spiegelung der Element, über Grid bekomme ich es gar nicht als Source/Context etc eingebunden-->
<ContentPresenter Content="{Binding Children, ElementName=meinGrid}"/>

Geht sowas, wenn ja, mit welchem Binding/welchem Element?
Vielen Dank!

4.938 Beiträge seit 2008
vor 3 Jahren

Das funktioniert so nicht - jedes Control muß eineindeutig sein (d.h. erzeugt und einem Parent zugewiesen).

Ich denke, da wirst du wohl mit Templates (und Ressourcen) arbeiten müssen, s. z.B. WPF Control Templates - Displaying Content.

T
tobi45f Themenstarter:in
59 Beiträge seit 2017
vor 3 Jahren

Danke für die Antwort. Gut zu wissen, dann werde ich das so umsetzen 😉