Lors de l'utilisation de PRISM, la manière normale de raccorder des éléments avec unity consiste à définir une interface et à enregistrer une implémentation avec cette interface. Maintenant, j'ai un problème concernant les vues. Le scénario est simple:Résolution de l'interface comme UIElement (Unity, PRISM, C#)
Supposons un contrôle vidéo personnalisé qui permet de définir une commande de lecture. Ce contrôle est défini par une interface simple "IPlayControlView". Le problème évident, quand je résous ce contrôle et essaye de l'ajouter à un StackPanel
, cela ne fonctionne pas, parce que j'ai un IPlayControl
, pas un UIElement
. Je peux le convertir en UIElement
, parce que je sais que c'est un UIElement
. Mais est-il une meilleure façon, quelque chose comme
public interface IPlayControlView : UIElement
Cela ne fonctionne pas, mais peut-être une autre chose fera l'affaire ...
Il est en quelque sorte une question générale, si je résous des vues à l'aide interfaces je vais courir dans ce problème à chaque fois. Peut-être que ce n'est pas la façon dont cela est fait, mais j'ai toujours pensé que l'un des ... Ok, je viens de me faire une idée. Je vais juste étendre le IPlayControl avec une propriété UIElement et le définir comme référence à lui-même. Donc, peu importe, on répond à la question en tapant :-)
S'il y a un meilleur moyen, j'aime toujours apprendre de nouvelles choses. Peut-être un IUIElement?
Chris