Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Thomas Lebrun

Tout sur WPF, LINQ, C# et .NET en général !

[WPF] Héritage de WindowsForms en WPF ?

L'un des avantges majeurs des WindowsForms concerne la possibilité de faire de l'héritage de WindowsForms. Un peu comme on le fait en Web avec la notion de Master Page, on définit un modèle qui sera utilisé comme base pour les fenêtres "enfants".

Ce concept n'est malheureusement pas disponible dans WPF. En effet, on pourrait se dire qu'il suffit de définir le code de la fenêtre de base en XAML puis, dans les fenêtres enfants, on fait référence à la fenêtre "mère":

<local:Window1 x:Class="TestInheritedWindows.InheritedWindows"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:local="clr-namespace:TestInheritedWindows"

    Title="InheritedWindows" Height="300" Width="300">

    <Grid>

    </Grid>

</local:Window1>

Cependant, cela ne fonctionne pas. Bien que correct, le code précédent génère l'erreur suivante à la compilation:

'TestInheritedWindows.Window1' cannot be the root of a XAML file because it was defined using XAML.

On pourrait alors se dre qu'il suffit de définir sa fenêtre "mère" par le code seulement:

  • Cela ne fonctionne pas
  • Lorsque la fenêtre est composée de 1 ouo 2 boutons, cela passe encore mais bien souvent, ce n'est pas une solution viable.

Voila un point qu'il serait intéressant d'avoir dans la prochaine version de WPF Smile

 

A+

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: lundi 15 septembre 2008 10:06 par Thomas LEBRUN
Classé sous : ,

Commentaires

simon ferquel a dit :

L'héritage c'est le mal, la composition, c'est le moins mal :)

# septembre 15, 2008 10:27

Thomas LEBRUN a dit :

Hey, je ne fais que répondre aux questions que l'on me pose moi :)

# septembre 15, 2008 10:32

Gilles TOURREAU a dit :

C'est pas la réponse que j'attendais... :'-(

En tout cas merci d'avoir médité sur ce problème...

@+

# septembre 15, 2008 12:24

white_mage a dit :

D'accord, l'héritage c'est, dans certain cas, le mal. mais je ne suis pas aussi catégorique.

Cela peut grandement faciliter la vie. Enfin bref, ce débat est éternelle et ne risque pas de s'arrêter de sitôt.

Il est toutefois dommage que l'héritage de formes en wpf ne soit pas disponible.

A+

# septembre 15, 2008 15:33

Thomas LEBRUN a dit :

Certes, mais qui sait, comme je le disais, p-e une nouveautés d'une prochaines version de WPF :)

# septembre 15, 2008 15:43
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Silverlight 3 : Communication et multicast par Kévin Gosse le il y a 3 heures et 36 minutes

- [Perso] Découvertes estivales : Linux (Part I) par Le blog de FremyCompany le il y a 6 heures et 17 minutes

- [Refactoring] ReSharper pour Visual Studio 2010 (Preview) par Thomas Jaskula le il y a 20 heures et 53 minutes

- [Refactoring] Analyser vos exceptions avec ReSharper Exceptional par Thomas Jaskula le il y a 22 heures et 7 minutes

- SharePoint 2007 : patterns & practices SharePoint Guidance par Philippe Sentenac [MVP SharePoint] le 07-03-2009, 09:56

- [Visual Studio 2010] Les tests cases c’est bien, mais je vais devoir tout réécrire ? par Etienne Margraff le 07-03-2009, 09:00

- MVP[Gribouillon].AddYear par The Grib's Lair [Sébastien PICAMELOT - MVP SharePoint] le 07-03-2009, 08:45

- Clinique INSIA - Projet de fin d’Etudes (Silverlight 3 MVVM et OutOfBrowser, WCF, TFS) - Part 1 par David REI le 07-02-2009, 23:38

- C’est la crise ? Bah pourquoi cramer du budget pub alors ? par Nix's Blog le 07-02-2009, 15:31

- Soyons MVP ! par TheSaib .NET blog le 07-02-2009, 12:15