2010-09-21 4 views
7

Je souhaite utiliser les fenêtres WPF dans les applications futures au lieu des formulaires Windows.Comment afficher une fenêtre WPF à partir d'une méthode statique publique dans un projet de bibliothèque de classes (dll)

La configuration actuelle est en tant que projet de bibliothèque de classes avec une méthode statique publique. J'ai ajouté un élément Windows Form au projet. Dans la méthode statique publique, je crée une instance de la classe Windows Form et utilise la méthode ShowDialog.

La raison pour laquelle j'utilise cette configuration est que j'ai besoin de ma propre boîte de dialogue .net dans un autre programme. Ce programme peut uniquement appeler des méthodes statiques publiques i .net.

J'ai résolu le problème en créant un projet d'application WPF et ajouté un élément de classe publique à ce projet. Dans la méthode statique publique, je crée une instance de la classe de fenêtre WPF et utilise la méthode ShowDialog. Cela fonctionne mais je voudrais créer une DLL sans méthode principale. Comment afficher une fenêtre WPF à partir d'une méthode statique publique dans un projet de bibliothèque de classes (dll)?

Répondre

7

Les projets de bibliothèque de classes ne possèdent pas le modèle de fenêtre WPF, vous devez donc créer un contrôle UserControl, puis modifier la balise principale de <UserControl ...> à <Window ...>. Vous pouvez également créer la fenêtre dans un projet d'application WPF, puis copier les fichiers MyWindow.xaml* dans votre projet de bibliothèque. (Dans ce cas, vous devrez peut-être corriger la propriété Build Action de la fenêtre dans la fenêtre de propriétés.Vide Studio semble la perturber lors de la copie d'un fichier XAML dans une bibliothèque de classe non-WPF.)

Ensuite, vous pouvez montrez-le comme vous le feriez dans une application: Dans votre méthode statique, vous créez une instance de votre fenêtre et appelez ShowDialog.

Questions connexes