Laden...

WPF: Steuerelemente an andere Klassen vererben?

Erstellt von Luna1987 vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.923 Views
L
Luna1987 Themenstarter:in
43 Beiträge seit 2009
vor 13 Jahren
WPF: Steuerelemente an andere Klassen vererben?

Hallo @ all.

Ich habe in meinem MainWindow.xaml einige Steuerelemente (Grid grid, TextBox textbox1, TextBox textBox2, Button button1 etc.) definiert.
Nun habe ich aber noch andere Klassen, z.B. die Klasse "CreateNewTextBox", die nun (im Code, nicht im xaml) z.B. auf das Grid "grid" (welches in MainWindow.xaml definiert wurde) zugreifen muss, um die neue TextBox in diesem Grid einzufügen.
Ich dachte ich kann das mittles Vererbung machen:

public class CreateNewTextBox : MainWindow

aber dann komme ich leider immer noch nicht an das grid heran?!

Wie mache ich das nun am besten, dass ich meine Steuerelemente aus dem MainWindow an andere Klassen "vererben" kann?

PS: Ich nutze Visual Studio 2010, C# und WPF.

5.299 Beiträge seit 2008
vor 13 Jahren

Du kannst im Xaml vom Grid die Name-Property setzen, und im Code dann diesen Namen verwenden.

Der frühe Apfel fängt den Wurm.

3.430 Beiträge seit 2007
vor 13 Jahren

Hallo Luna1987,

was genau willst du denn machen?
Denn dieser Weg wird zwar vielleicht irgendwie funktionieren, aber schön ist das Ganze nicht.

Gruß
Michael

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo Luna1987,

du kannst den logischen Tree hoch und runter laufen. So kannst du dann auf die Controls zugreifen. Voraussetzung ist, dass du es richtig filterst, sondern bekommst du Probleme. Besser ist es natürlich, wenn du direkt den Controls Namen gibst, sodass man die Control dann besser identifizieren kann. Hier findest du ein gutes Beispiel.

Das, was du vor hast, ist nicht gut! Lies dich ermal lieber in WPF ein, bevor du anfängst. In WPF gibt es viel mehr Möglichkeiten. Die sollte man auch ausschöpfen.

zero_x

L
Luna1987 Themenstarter:in
43 Beiträge seit 2009
vor 13 Jahren

Danke für eure Antworten 🙂

@ErfinderDesRades: Das geht eben leider nicht, dass ich den Namen vergebe ich in einer anderen Klasse aufrufe 😦

@michlG: Ich will nicht von Anfang an im xaml festlegen wie meine Oberfläche aussieht. Es sollen, je nachdem was geklickt wird, unterschiedliche Grids mit unterschiedlichen Tabellen etc. zur Laufzeit erzeugt und anschließend angezeigt werden.
Sicherlich gibt es viele andere Wege, aber ich bin noch nicht so der WPF-Profi 😉 und von daher schien mir dieser Weg irgendwie am verständlichsten...

@zero_x: Danke für den Link, das klappt super!! Diese Möglichkeit werde ich ersteinmal nutzen!

Danke für eure Antworten!
Lg Luna 🙂