2010-09-22 4 views
15

J'ai créé un contrôle personnalisé en C# (méthodes surchargées dans le contrôle Button et ajout de nouveaux événements). J'ai besoin d'utiliser ce contrôle dans mon application wpf. En WinForms je peux l'utiliser par ToolBox(right click) --> Choose Items -->Browse. où comme dans WPF je ne peux pas importer les contrôles personnalisés. Est-il possible de le faire?Comment utiliser les contrôles personnalisés dans WPF

+0

Vous devez préciser si votre contrôle est celui que vous avez créé pour WinForms ou s'il s'agit d'un nouveau créé spécifiquement dans WPF. –

+0

Le contrôle est créé dans 'WindowsFormsControlLibrary' –

Répondre

12

peut nécessiter une reconstruction pour le projet en question, puis un fichier xaml doit être actif. Votre contrôle personnalisé doit apparaître dans la boîte à outils. si ça ne se voit pas. vous pouvez effectuer les opérations suivantes:

dans votre fichier XAML, quelque part dans la balise d'en-tête, vous voyez beaucoup des xmlns: yyy, ajouter une nouvelle xmlns: par exemple:

<Window 
    x:Class="MyProject.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:custom="clr-namespace:MyProject"> 

où la coutume est tout identifiant pour l'espace de nom et MyProject est l'espace de noms. Ne vous inquiétez pas à ce sujet parce que lorsque vous tapez "xmlns: custom =" (sans les guillemets), intellisense vous donnera le choix des espaces de noms existants actuellement référencés. il suffit donc de choisir l'espace de noms approprié dans la liste déroulante et appuyez sur Entrée.

maintenant défiler vers le bas à l'endroit où vous voulez mettre votre contrôle personnalisé et:

<custom:MyControl Content="Click Me!" Click="Button_Click" /> 

personnalisé: MyControl est des xmlns: sur mesure (ci-dessus) et le nom de contrôle, MyControl Contenu correspond à la propriété Content "Click Me!" et Cliquez sur est l'événement Click avec le gestionnaire "Button_Click".

Espérons que cela aide!

1

Je suppose que vous parlez d'un contrôle utilisateur WinForms ici, pas d'un contrôle WPF? Si oui, je vous suggère de lire l'article suivant: http://msdn.microsoft.com/en-us/library/ms742875.aspx

Je pourrais ajouter que ce peut être une bonne idée de créer simplement un contrôle utilisateur WPF - le processus a beaucoup amélioré par rapport à WinForms, aussi le modèle de contenu devrait rendre les choses un peu plus faciles.

Questions connexes