2013-08-22 5 views
0

J'ai besoin de créer un contrôle utilisateur de base avec certaines fonctionnalités (comme glisser, minimiser et plus ..). Maintenant, j'ai besoin d'un tas d'autres contrôles utilisateur pour en hériter et ajouter leur contenu.Comment lier un élément d'un contrôle utilisateur à un autre contrôle utilisateur?

Je veux une option pour ajouter de nouveaux contrôles utilisateur qui met en oeuvre une partie seulement de la commande de base et reste avec le reste des éléments et fonctionnalités.

Comment puis-je lier un certain élément (grille, stackpanael, .. tout ..) du contrôle de l'utilisateur de base au nouveau contrôle? (Sans charge XAML dans le code derrière)

Je veux essentiellement à « planter » un élément de XAML dans un élément dédié au contrôle de l'utilisateur de base d'un contrôle utilisateur différent.

Répondre

0

Si vous écrivez un contrôle personnalisé, l'un des contrôles que vous pouvez utiliser dans le modèle est appelé "ContentControl". Ensuite, lorsque vous utilisez le contrôle personnalisé sur une page, vous pouvez spécifier dans xaml quel sera le contenu. Ainsi, vous pouvez mettre dans une grille, StackPanel, quoi que ce soit là-bas. Mais notez que l'écriture de votre propre contrôle personnalisé est rarement effectuée par des fournisseurs de composants tiers, car elle nécessite une connaissance assez approfondie de SL (par exemple, comment utiliser les propriétés de dépendances). Plus couramment utilisé est le "Contrôle de l'utilisateur" qui est beaucoup plus facile à utiliser et ne nécessite pas de telles connaissances. Je commence généralement par essayer d'accomplir ce dont j'ai besoin avec un UserControl, et si je rencontre un roadblock, alors je passe à un CustomControl. Mais la plupart des contrôles existants ont déjà la fonctionnalité que vous décrivez - glisser-déposer, réduire, etc. SL a déjà un contrôle d'interface utilisateur riche, donc un bon point de départ est de voir si l'un des contrôles existants a la plupart de ce dont vous avez besoin, puis prenez-le à partir de là.

Greg

Questions connexes