Dans la pratique, les contrôles personnalisés sont quelque chose que vous mettre en œuvre au niveau du code, tandis que vous pouvez utiliser XAML pour les commandes de l'utilisateur. Les contrôles personnalisés étendre l'une des contrôle WPF classes de base et de fournir des fonctionnalités supplémentaires à l'aide de code de sorte que tous l'ajout de la logique et de la représentation doit être mis en œuvre à l'intérieur du code.
Un contrôle utilisateur est techniquement un contenu normal de contrôle que vous pouvez étendre dans certaines parties du code, mais il est généralement étendu en plaçant d'autres contrôles à l'intérieur d'elle. Alors que Kent a mentionné un UserControl est une agrégation d'autres contrôles. Cela limite ce que vous pouvez faire avec un contrôle utilisateur considérablement. C'est plus facile à utiliser mais plus limité qu'un contrôle personnalisé.
Ces contrôles ont une petite différence à partir d'un moteur d'exécution de point de vue. Lors de la construction d'une application et en plaçant un UserControl, le contrôle de l'arbre en béton modèle UserControl à l'intérieur. Donc, si nous considérons une lame exemple d'une institution spécialisée bouton. Si vous utilisez un contrôle de l'utilisateur que vous ajoutez un bouton à l'intérieur de l' <UserControl>
élément. Lors de l'utilisation d'un contrôle personnalisé que vous seriez en tirer le contrôle de lui-même à partir d'un bouton le plus probable. La différence serait visible dans l'arborescence logique.
Alors que le contrôle personnalisé serait de fournir une arborescence logique similaire à
Le contrôle UserControl donnerait une arborescence logique d'
Donc en fin de compte le contrôle UserControl est un ContentControl qui vous permet d'étendre un peu et pour laquelle vous pouvez prédéfinir le contenu. Contrôle personnalisé offre une plus grande souplesse au prix de facilité de mise en œuvre que vous avez à faire de la logique et de l'interaction dans le code au lieu d'avoir l'avantage de XAML.
Si après tout cela, je ne pense pas qu'il y a beaucoup de différence dans les modèles Visual Studio. Probablement le Personnalisé Visual Studio de Contrôle crée un projet avec un vide de contrôle personnalisé, tandis que le Contrôle de l'Utilisateur projet est un projet avec un vide de contrôle de l'utilisateur. Vous pourrez par la suite ajouter toute sorte d'articles pour le projet.
Mise à jour
Et à mon avis lors d'un contrôle personnalisé et de contrôle de l'utilisateur, c'est que si vous pouvez faire quelque chose, avec un contrôle de l'utilisateur et le contrôle supplémentaire de l'élément dans l'arborescence logique ne vous dérange pas, utiliser un contrôle utilisateur en tant qu'ils sont beaucoup plus faciles à créer et à maintenir. Utilisez un contrôle personnalisé uniquement si vous avez une raison de ne pas utiliser un contrôle de l'utilisateur.