Laden...

Vererbung like WinForms

Erstellt von SeboStone vor 16 Jahren Letzter Beitrag vor 14 Jahren 1.681 Views
S
SeboStone Themenstarter:in
489 Beiträge seit 2007
vor 16 Jahren
Vererbung like WinForms

Tach zusammen!

Ich suche nun schon eine Weile nach einer Möglichkeit ein komplettes Window zu vererben. Bei Winforms ist das eine Kleinigkeit, WPF macht mir aber Ärger. Die *.xaml.cs zu vererben klappt nach alter Manier, aber der xaml-Teil muss ja nun ebenfalls wissen wovon er erben soll. Da ich mit Büchern und googeln nicht weiter gekommen bin frage ich mich nun ob das überhaupt möglich ist, weiss das jemand?

zweite Frage:
Eigentlich bräuchte ich gar keine Vererbung, da ich nur die *.xaml Datei anpassen will. Da hier die Trennung zwischen Anwendungslogik und Darstellung existiert müsste es doch eigentlich auch eine Möglichkeit geben je nach Wunsch das xaml auszutauschen (ohne einen xml-Reader anzuschmeissen)? Hat jemand einen Link oder andere Infos dazu für mich?

Danke im vorraus!

Sebo

S
SeboStone Themenstarter:in
489 Beiträge seit 2007
vor 16 Jahren
.
332 Beiträge seit 2006
vor 16 Jahren

Wie/Wann möchtest du XAML Datei bzw. Inhalt austauschen?

Schau dir mal die InitializeComponent Methode an. Da erkennst du, wie der XAML Code "eingelesen" wird.

Zuerst wird die eingebette Ressource (XAML Code) als System.Uri Objekt instanziiert und anschliessend per System.Windows.Application.LoadComponent geladen.

Vielleicht hilft dir das weiter.

Theoretisch ist zwar Logik und Designtrennung gedacht. Aber es muss ja zwischen diesen beiden Sachen ein Verbindung geben. D. h. in deinem XAML oder spätenstens im Code muss ja ein Bindung o. ä. stattfinden.

Somit enthält das XAML nicht nur reine Designkomponenten sondern auch teilweise die "Schnittstelleninformationen."

S
SeboStone Themenstarter:in
489 Beiträge seit 2007
vor 16 Jahren

Hi .tim!

Das ist ein guter Tipp - hätte ich selber drauf kommen sollen. Werd' ich mir mal etwas genauer anschauen.

Somit enthält das XAML nicht nur reine Designkomponenten sondern auch teilweise die "Schnittstelleninformationen."

Das ist klar, habe mir nur nie über das Laden des Xaml Gedanken gemacht. 🙂

P
3 Beiträge seit 2009
vor 14 Jahren

Tach zusammen!

Ich suche nun schon eine Weile nach einer Möglichkeit ein komplettes Window zu vererben. Bei Winforms ist das eine Kleinigkeit, WPF macht mir aber Ärger. Die *.xaml.cs zu vererben klappt nach alter Manier, aber der xaml-Teil muss ja nun ebenfalls wissen wovon er erben soll. Da ich mit Büchern und googeln nicht weiter gekommen bin frage ich mich nun ob das überhaupt möglich ist, weiss das jemand?

...

Sebo

Einige Jahre vergangen und das Problem kommt so ähnlich wieder auf mich zu:

Ich habe einige Dialoge, die interne Timer verwenden, die gleiche Validierungs Routinen anwenden, Properties verarbeiten etc.

Die XAML sind ggf. etwas anders. Wie programmiere ich einen von WPF Window abgeleiteten Basis Dialog, der wiederum die Basis für eine Reihe weiterer Dialoge ist.