Entwickler-Ecke

WPF / Silverlight - Inherit from UserControl / Window


doubleII - So 24.06.18 17:53
Titel: Inherit from UserControl / Window
Hallo,

ich recherchiere seit ein paar Tage wie ein UserControl oder ein Window in WPF ein oder mehrere Controlelemnte von seinem BaseView vererben kann.

Ein Beispiel:
Ein BaseWindowView hat vier Tasten
- ChildWindowView1
- ChildWindowView2
- ChildWindowView3
- Close
Das Program wird gestartet und öffnet sich das BaseWindoView.
Wenn man auf der Taste ChildWindowView1 klickt, öffnet sich das zweite (ChildWindowView1) Fenster, das Fenster vererbt von dem BaseWindowView die Taste "Close".
Das ChildWindowView1 wird geoffnet und ruft entrspechenden UserControlView1, die ein TextBlock von dem UserControlBase vererbt.

Was ich ins Internet gefunden habe ist folgendes: "WPF have no visual inheritance."

Kann mir jemand ein Tip geben, wie es man machen könnte.

Danke!


Th69 - Mo 25.06.18 09:40

So ganz verstehe ich dein Problem nicht.
Wieso sollen die ChildWindowViewX von der Hauptklasse erben?
Möchtest du nicht eher so etwas:

Windows
1:
2:
3:
4:
5:
6:
7:
- BaseWindow
  - CloseButton

- MainWindow : BaseWindow
  - ChildWindowButton1 -> ChildWindow1 // öffnet ChildWindow
  - ChildWindowButton2 -> ChildWindow2 // "
  - ChildWindowButton3 -> ChidlWindow3 // "

Und jedes ChildWindow erbt dabei dann auch vom BaseWindow.
Das geht dann z.B. folgendermaßen:
Creating a Base Window Class in WPF [https://weblogs.asp.net/psheriff/creating-a-base-window-class-in-wpf]
WPF: Inheriting from custom class instead of Window [http://geekswithblogs.net/lbugnion/archive/2007/03/02/107747.aspx]