Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

WPF Window - Ableiten eines Window

784 views
Skip to first unread message

Stephan Messmer

unread,
Mar 12, 2009, 9:24:42 AM3/12/09
to
Hallo,

ich bin Neuling in der WPF-Entwicklung und möchte von einem Window
ableiten. In der Partial-Class kann ich die Inherits Angabe machen, aber
wie geschieht das in der XAML-Datei?

Folgendes Beispiel: Window2 soll von Window1 ableiten:

Klasse Window1:

<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<Button>TestButton</Button>
</Grid>
</Window>

Partial-Class:

Class Window1

End Class

- Klasse Window2 soll von Window1 ableiten:

<Window x:Class="Window2" INHERITS Window1 ????
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window2" Height="300" Width="300">
<Grid>

</Grid>
</Window>

Partial-Class:

Partial Public Class Window2 : Inherits Window1

End Class


Ist die Ableitung von Windows-Elementen sowie Steuerelementen bei WPF
überhaupt vorgesehen?

Für eure Hilfe, vielen Dank,
Stephan Meßmer

Elmar Boye

unread,
Mar 13, 2009, 5:26:58 AM3/13/09
to

Hallo Stephan,

Stephan Messmer schrieb:


> ich bin Neuling in der WPF-Entwicklung und möchte von einem Window
> ableiten. In der Partial-Class kann ich die Inherits Angabe machen, aber
> wie geschieht das in der XAML-Datei?

Gar nicht, wenn WPF unterstützt keine visuelle Vererbung
(wie man das bei Windows Forms genannt hat).

> Ist die Ableitung von Windows-Elementen sowie Steuerelementen bei WPF
> überhaupt vorgesehen?

Nein, da es nur einen logischen Baum geben kann.
Das würde bedeuten, dass der XAML Code aus Window1 mit dem des
ableitenden Fenster gemischt werden müsste, was nicht sinnvoll
machbar ist.
(z. B. Welche Grid Definition gilt nun und an welcher Stelle?)

Da es etliche Möglichkeiten gibt, WPF Elemente zu kombinieren
und zu gestalten, gibt es dafür auch keine Notwendigkeit.

Auch eine Ableitung des Fensters abseits der visuellen
Darstellung sollte mit Techniken wie MVVM selten notwendig sein.

Als Lektüre sei empfohlen:
http://msdn.microsoft.com/de-de/magazine/dd419663.aspx
"WPF-Anwendungen mit dem Model-View-ViewModel-Entwurfsmuster"

Gruß Elmar

Frank Dzaebel

unread,
Mar 13, 2009, 6:24:39 AM3/13/09
to
Hallo Stephan,

> Ist die Ableitung von Windows-Elementen sowie Steuerelementen bei WPF
> überhaupt vorgesehen?

hier ein paar Techniken, wie man es in WPF macht:

[WPF: Inheriting from custom class instead of Window]
http://blog.galasoft.ch/archive/2007/03/02/107747.aspx

[Make a Custom Window (inherit from <Window>) : WPF]
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/4f0cd7e3-65fa-4d2a-b29f-492e4209641c/

[Feedback: WPF (XAML) Visual Inheritance]
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=289715

oder zum Teil über ContentPresenter und Templating ...


ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Elmar Boye

unread,
Mar 13, 2009, 7:02:00 AM3/13/09
to

Hallo Frank,

"Frank Dzaebel" <Po...@FranksSeite.de> schrieb ...


>> Ist die Ableitung von Windows-Elementen sowie Steuerelementen bei WPF überhaupt vorgesehen?
>
> hier ein paar Techniken, wie man es in WPF macht:

oder es wann man es besser bleiben lässt, ...

> [WPF: Inheriting from custom class instead of Window]
> http://blog.galasoft.ch/archive/2007/03/02/107747.aspx

... siehe Kommentare dort, wo u. a. verwiesen wird auf:
http://work.j832.com/2007/06/don-subclass-panel-unless-you-making.html

Gruß Elmar

Frank Dzaebel

unread,
Mar 13, 2009, 8:29:51 AM3/13/09
to
Hallo Elmar,

> oder es wann man ...

evtl. willst Du: "wann man es nicht machen sollte"
sagen. Der von mir verlinkte Artikel hat unten schon
ein "paar" Anmerkungen dazu. Unter anderem stehen
in meinem ersten Posting mögliche Alternativen.
Jede Technik hat da sein Anwendungsszenario.

Stephan Messmer

unread,
Mar 16, 2009, 5:08:29 AM3/16/09
to
Stephan Messmer schrieb:
Vielen Dank für die Antworten.

Gruß,
Stephan

0 new messages