Je vais avoir une application utilisant MVC. Il a une grille de toile et de propriété. Lorsqu'un élément est sélectionné dans le canevas. La grille des propriétés doit afficher ses détails. J'ai donc créé un écouteur d'événement et lorsque l'élément est sélectionné dans le canevas, il déclenche un événement vers le contrôleur qui transmet l'élément sélectionné à la grille de propriétés pour afficher les détails.Problème de conception MVC
Modèle:
objet d'objet nom contenant, description
Controller:
protected Controller(object model, FrameworkElement view)
{
this._model = model;
this._view = view;
}
public virtual void Initialize()
{
View.DataContext = Model;
}
Vue:
<TextBlock>Status</TextBlock>
<ComboBox ItemsSource="?????"/>
Où vue est la grille de la propriété et le modèle est l'élément sélectionné . Le problème est dans la grille des propriétés il y a une liste déroulante contenant des valeurs de recherche comment puis-je obtenir les valeurs déroulantes étant donné que le datacontext de la grille des propriétés a déjà été défini sur l'élément sélectionné qui ne contient pas de référence à ces éléments de recherche.
Je sais qu'il est facile d'utiliser du code personnalisé pour cela. Mais je ne veux pas violer l'approche MVC.
Beaucoup plus d'informations sont nécessaires pour donner une réponse sensée (c'est pourquoi je n'ai pas répondu jusqu'à maintenant :)) - Je crée une interface de données, par exemple, IListProvider qui pourrait avoir une méthode appelée " ProvideList "acceptant un TStringBuilder comme paramètre - Crée une classe d'implémentation singleton pour l'interface - Crée une propriété d'interface pour le contexte et utilise celle pour sélectionner le" bon "fournisseur. Encore, je pense que vous devez décrire votre code :) –
@Andrea: Cela ne fait que 7 minutes ... –
LOL! Je n'ai pas remarqué que: P –