2009-11-03 6 views
0

Je crée une application MVVM Silverlight 3.0 en utilisant Silverlight.FX mais mon View utilise en fait le système de navigation Silverlight, une page. Suivant Nikhil's example, ma vue doit dériver de la classe Silverlight.FX Window.Utilisation de la fenêtre Silverlight.FX pour MVVM en tant que page Silverlight 3.0?

Quelle est la meilleure approche pour créer une fenêtre qui prend également en charge la fonctionnalité Page ou y a-t-il quelque chose qui le fait déjà?

Répondre

1

Découverte des classes Page et PageFrame de Silverlight.FX. Ces classes ont les mêmes fonctionnalités de base que les types de navigation Silverlight mais avec le support de la liaison que je recherchais.

xmlns:fxnav="clr-namespace:SilverlightFX.UserInterface.Navigation;assembly=SilverlightFX" 
... 
<fxnav:PageFrame x:Name="_frame" 
       IsIntegratedWithBrowser="True" 
       DefaultUri="StartView" 
       HorizontalContentAlignment="Stretch"/> 

Je vais avoir du mal à saisir le conteneur parent des code-behind de pages (contrairement à la Silverlight 3.0 Page), mais je ne devrais pas avoir besoin une fois que je supprimer le gestionnaire Cliquez et entièrement basculer sur MVVM de toute façon.

+0

En effet, idéalement, les pages individuelles n'atteignent pas dans la vue parent qui contient le PageFrame, car cela introduit un couplage moins qu'idéale. –

0

Il convient de mentionner que le composant PageLoader par défaut de PageFrame mappe automatiquement toutes les pages disponibles. Il n'y a aucun moyen d'utiliser le nouveau composant UriMapping de Silverlight 3 avec PageFrame de SilverlightFX. Donc, si votre page s'appelle MySilverlightPage.xaml (et que la classe de page correspondante a le même nom), elle sera disponible à l'adresse "mysilverlight".

P.S. J'ai décidé de le mentionner, car ce n'était pas clair pour moi quand j'ai essayé d'utiliser SilverlightFX pour la première fois.

+0

Un bon conseil, merci! –