Je travaille sur une solution PRISM/CAL, mais le problème peut être WPF spécifique:WPF - CAL - Plusieurs parents pour une seule instance de contrôle?
Si je crée une instance d'un contrôle (par exemple TextBlock) et l'ajouter comme enfant à un StackPanel, il n'y a pas moyen de ajoutez-le en tant que "enfant" à un autre StackPanel (parent déjà défini une erreur). Je comprends en quelque sorte la raison (cela se produit aussi lors de l'utilisation de RegionManager).
Mais quelle est la méthode suggérée si un contrôle visuel est très complexe et devrait être créé une seule fois et utilisé à deux endroits? Je suis d'accord qu'il n'est pas vraiment logique de montrer un contrôle identique 2 fois sur l'écran, mais il peut y avoir des cas où c'est utile (par exemple un bouton "Fermer tout").
Je sais que dans le cas du bouton, je devrais juste créer deux boutons à la fois databound à un ICommand. Mais cette règle s'applique également avec des contrôles beaucoup plus complexes (toujours créer de nouvelles instances) ...
Je suis tombé sur ce problème lors de la création d'un sélecteur de disposition, qui crée la liste des boutons et le panneau de pile pour chaque GUI séparément, mais utilise une ObservableCollection statique de boutons comme source (ce qui provoque des bogues étranges).
Des idées sur ce sujet?
Chris
Merci, je le pensais ... Je travaille actuellement avec le code seulement (encore plus rapide, pas utilisé pour XAML et dans les envois multi-cibles avec Silverlight son malpropre de toute façon) .. Changé la collection ICommands et utilisé "nouveau "des boutons pour tous les contrôles. Alors tout va bien .. –