2009-01-19 13 views
8

De nombreux articles ont décrit comment créer une fenêtre de forme personnalisée dans WPF, mais aucun d'entre eux (au moins je ne trouve pas) décrit comment construire une fenêtre réutilisable, comme en hériter dans d'autres les fenêtres.WPF: Fenêtre personnalisée

J'ai essayé de créer un ControlTemplate à partir de ma fenêtre personnalisée. Le problème est avec le bouton Fermer et la méthode MoveDrag().

Si je câble l'événement à un de mes autres contrôles dans ControlTemplate, leur propriété Parent est null, donc je ne peux pas faire glisser ou fermer la fenêtre.

Est-ce que quelqu'un a des idées comment puis-je créer un modèle de fenêtre personnalisée réutilisable ou quelque chose?

+0

Je ne suis pas très clair sur ce que vous demandez. Peut-être qu'un échantillon de code minimal aiderait –

Répondre

2

Malheureusement, il n'y a pas des choses telles que l'héritage visuel dans WPF. Pour votre problème spécifique, au lieu d'hériter, vous pouvez créer un formulaire personnalisé en tant que modèle (avec un grand conteneur vide au milieu), puis créer tous vos autres formulaires en tant que commandes usControl (aucun héritage xaml n'est plus spécifique)

qui remplissent ce conteneur.

0

Le tableau suivant retourne l'objet de la fenêtre contenant le contrôle:

Window.GetWindow(myControl) 
Questions connexes