Meilleur auteur de réponses
Instanciation d'une page en Silverlight 4

Question
-
Salut,
Je developpe une application en Silverlight 4, et dans cette ap, l ya un tableau de Bord qui est acessible seulement par administrateur.je veux que une fois que l'admin in sert son Username et Mot de passe, directement il est dirrigé sur le tableau de bord.
soit AdminOK une variable Bool, qui indique que les informations( UserName, PassWord) entrées par l'admin sont correct.
soit AdminPage.xaml, le tableau de bord
voici comment je pensais la chose :
//C#
AdminOK =false;
................
if(AdminOK )
{
AdminPage ouvrir = new AdminPage();
ouvrir.Show();
}
// fin
mais malheureusement cela n'est pas possible en Silverlight, Comment resoudre ce probleme en Silverlight 4?
Merci de me repondre.
- Déplacé Ciprian Duduiala mercredi 21 mars 2012 12:34 question de Silverlight (Origine :Visual C#)
mardi 20 mars 2012 20:44
Réponses
-
Bonjour,
Vous devez passer par le mécanisme de navigation en Silverlight :
http://msdn.microsoft.com/fr-fr/library/cc838245(v=vs.95).aspx
Notamment vous pouvez utilser la classe NavigationService :
this.NavigationService.Navigate(new Uri("/AdminPage", UriKind.Relative));
Cordialement.
- Modifié Ould Mourad mercredi 21 mars 2012 08:53
- Proposé comme réponse Ciprian Duduiala mercredi 21 mars 2012 12:33
- Marqué comme réponse Ciprian Duduiala mardi 27 mars 2012 06:47
mercredi 21 mars 2012 08:53 -
Bonjour,
Je vous conseille de voir le toolkit pour silverlight 4.
Car avec la childwindow , cela simule une fenêtre.
voici le lien :
http://silverlight.codeplex.com/releases/view/43528
http://msdn.microsoft.com/fr-fr/library/system.windows.controls.childwindow(v=vs.95).aspx
Cordialement, Pascal.
Développeur Wpf/SilverLight/WinPhone7
- Proposé comme réponse Ciprian Duduiala lundi 26 mars 2012 05:58
- Marqué comme réponse Ciprian Duduiala mardi 27 mars 2012 06:47
dimanche 25 mars 2012 19:21Modérateur
Toutes les réponses
-
Bonjour,
Vous devez passer par le mécanisme de navigation en Silverlight :
http://msdn.microsoft.com/fr-fr/library/cc838245(v=vs.95).aspx
Notamment vous pouvez utilser la classe NavigationService :
this.NavigationService.Navigate(new Uri("/AdminPage", UriKind.Relative));
Cordialement.
- Modifié Ould Mourad mercredi 21 mars 2012 08:53
- Proposé comme réponse Ciprian Duduiala mercredi 21 mars 2012 12:33
- Marqué comme réponse Ciprian Duduiala mardi 27 mars 2012 06:47
mercredi 21 mars 2012 08:53 -
Salut Ould Mourad,
J'ai essayé ta reponse mais ce la ne me donne rien comme result.
Voici comment le l'ai emlpoyé :
// j'essai de voir si les données entrées par lE user sont dans la base de donnée.
FarmerDomainContext context = new FarmerDomainContext();
LoadOperation<employe> loadUsers = context.Load(context.GetEmployesQuery());
loadUsers.Completed += (s, a) => { var userQuery = from d in context.employes
where d.nom_employ == TxbMailConnexion.Text && d.mot_pass == TbxPasswordConnexion.Text
select d;
employe del = userQuery.FirstOrDefault();
// si la requete retounre une valeur non nulle
if (del != null)
{
// Le contentFrame est sur une autre page qui est "MainPage" et les choses se passent sur une autre page "Connexion"
//pour cela j'instancie la page "MainPage"
MainPage azer = new MainPage();
// et je considere que la le ContentFrame est un element de la page MainPage.xaml
azer.ContentFrame.Navigate(new Uri("/AdminDashBord.xaml", UriKind.Relative));
//je ferme la page de connexion
this.DialogResult = false;
}
else
{ InfoWindow infoWindow = new InfoWindow();
infoWindow.txblkInfo.Text = "Vous n'estes pas l'admin !";
infoWindow.Title = " identification de l'admin";
infoWindow.Show();
}
};
voici la page connexion a ârtir de laquelle je veux instancier l'autre :
et celle "MainPage" qui contien le Frame :
et je veux que le page instanciée "AdminDashbord" s'affiche ici dans ce frame.
merci de mae repondre.
vendredi 23 mars 2012 15:32 -
Bonjour,
Je vous conseille de voir le toolkit pour silverlight 4.
Car avec la childwindow , cela simule une fenêtre.
voici le lien :
http://silverlight.codeplex.com/releases/view/43528
http://msdn.microsoft.com/fr-fr/library/system.windows.controls.childwindow(v=vs.95).aspx
Cordialement, Pascal.
Développeur Wpf/SilverLight/WinPhone7
- Proposé comme réponse Ciprian Duduiala lundi 26 mars 2012 05:58
- Marqué comme réponse Ciprian Duduiala mardi 27 mars 2012 06:47
dimanche 25 mars 2012 19:21Modérateur -
Bonjour Hamed,
Le problème dans votre code est que vous devez utiliser la propériété ContentFrame de votre objet MainPage qui est déjà affiché et pas celle d'un objet que vous venez de créer à la volé et qui n'est jamais affiché (MainPage azer = new MainPage();).
Il faut récupérer la référence vers la page affiché au lieu d'en créer une nouvelle (Vous pouvez la stocker dans un membre statique et le milleur moment de le faire serait dans le handler de l'evnet NavigteTo de MainPage.
Indépendement de Silverlight ou d'une autre techno. il faut bien faire la distinction entre une classe et un objet.
Cordialement
- Modifié Ould Mourad lundi 26 mars 2012 13:54
lundi 26 mars 2012 12:43 -
Salut Pascal Saille, Je deja les toolKit de Silverlight, Le RIA services m'a imposer cela de puis un bon moment et je le trouve tres bon, (;-Donc je ne pense pas ce soit la source de mo proleme.
Mercimardi 27 mars 2012 14:13