Pouvez-vous utiliser la liaison de données avec le Contenu de la propriété d'un WPF Cadre?
Je peux utiliser la liaison de données pour définir le Contenu initial de WPF Image, mais les modifications ultérieures à la la limite de propriété (mise en œuvre à l'aide de INotifyPropertyChange) ne semblent pas modifier le contenu.
Aussi, personne ne sait si la liaison directement le Contenu de la propriété de cette façon peut provoquer l'objet lié à apparaître dans le Cadre ou NavigationWindow du journal?
Le contexte: je me rends compte que je devrais probablement être à l'aide de la NavigationService d'interagir avec le Cadre, mais je vais tenter de suivre le modèle MVVM. Il me semble qu'il serait beaucoup plus simple de databind à la propriété Content...
OriginalL'auteur dthrasher | 2010-04-23
Vous devez vous connecter pour publier un commentaire.
Beaucoup dans le WPF communauté acceptez que le built-in de navigation cadre est cassé. Cependant, même si vous étiez à utiliser, contraignant le Contenu de la propriété n'est pas la bonne approche. Si vous souhaitez utiliser MVVM avec navigation, vous devez les combiner avec le FrontController modèle où le ViewModel distribue une demande de navigation à un Contrôleur qui ensuite décide que la demande pour vous. Il n'y a pas beaucoup d'exemples de ce concept disponible parce que (comme je l'ai mentionné avant), de nombreux développeurs de passer sur l'utilisation de WPF est intégré dans la navigation.
Si vous voulez regarder un très de navigation robuste moteur WPF, regardez nRoute C'est un port de la MVC moteur de routage pour WPF.
OriginalL'auteur Michael Brown
Vous pouvez utiliser la liaison de données à l'encontre d'une Image, mais vous devez vous assurer que le Mode de votre Liaison est définie à Bidirectionnels.
XAML:
Modèle De Vue:
OriginalL'auteur Oppositional
L'Image est une de navigation de l'hôte, de sorte qu'il est plus correct d'utiliser le NavigationService à naviguer à travers les différents contenus. Si vous utilisez le INotifyPropertyChange, je suppose, que vous appelez les événements liés à chaque fois que le contenu est modifié. Ensuite, je suppose qu'il n'est pas difficile à utiliser, le NavigationService à la place.
OriginalL'auteur Maurizio Reginelli
J'ai rencontré ce problème il y a quelques jours. J'ai eu une fenêtre principale avec un cadre, et j'ai chargé les différentes pages dans le cadre (à l'aide de
Navigate()
). Les pages' liaisons de données ont été brisées, les données ne s'affichent pas sur la page chargée.Pour réparer les liaisons, de créer ou de donner votre
DataContext
de la page à l'intérieur du cadre, et les liaisons ne fonctionne de nouveau.OriginalL'auteur Attila Farkas