Citation:
Envoyé par
zooffy
Eh, tu serais pas prof ou formateur par hasard ? Parce que, ça c'est de l'explication de texte, mais d'une qualité comme j'en ai pas croisé de puis un bout de temps, vraiment : BRAVO
Merci :oops:
Citation:
le .xap c'est un format de fichier spécifique à SilverLight ? Est ce que, dans l'approche global du problème, cela ressemble au SWF de Falsh ?
Parce que, ce que j'ai fait pour l'instant (qui visiblement doit être du SL 1.0) y pas de ce truc là.
Le .xap est spécifique à Silverlight 2 (je me souviens plus comment ça marchait en SL 1). En fait c'est tout bête c'est simplement un fichier zip (sauf qu'il s'appelle xap) et si tu l'ouvres (avec 7zip ou winzip) tu vois qu'il contient un AppManifest.xaml qui recense les dll utiles à ton application, et qui contient également toutes les dll de ton application, afin que le client puisse exécuter tout ça correctement
Citation:
Sur les traitements serveur : si je comprend bien, on ne fait même plus de page ASPX. On fait un service ASMX (par exemple) qui va tout gérer pour le lien vers la BDD. Mais j'ai encore du mal à comprendre où on mets l'intelligence du la page.
Typiquement ta page aspx contient seulement la balise Silverlight
Code:
1 2
| <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/TestSilverlight.xap"
MinimumVersion="2.0.30523" Width="100%" Height="100%" /> |
Ensuite imaginons que ton application contienne une ListBox dans laquelle tu veux afficher le nom des personnes dans un table Persons.
Tu crées un WebService qui va chercher les infos en bases et retourne un string[] par exemple.
Dans ton application Silverlight, on va rajouter un bouton pour faire le traitement, et le code du bouton sera lui en c# (ou vb.net).
On a donc d'un côté le XAML
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <UserControl x:Class="TestSilverlight.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:TestSilverlight"
xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
xmlns:cx="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Extended"
Width="800" Height="600">
<StackPanel x:Name="LayoutRoot" Background="White">
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Button x:Name="button1" Content="Va chercher" Click="button1_Click" />
</StackPanel>
</UserControl> |
Avec une balise root (UserControl).
Ensuite le système de positionnement qu'on utilise (ici un StackPanel mais on peut remplace par un Grid ou un Canvas).
On met ensuite une Listbox et un Button.
On remarque l'évènement Click sur le bouton, et c'est là qu'on va trouver notre code c# (vb.net).
Chaque xaml est associé à un xaml.cs (à la manière des aspx et aspx.cs).
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| public partial class Page : UserControl
{
public Page()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
}
} |
La dans le clic du bouton on va appeler notre webservice et remplir notre listbox avec le résultat.
Les webservices fonctionnent comme avec un projet .net normal, cad on fait clic droit -> ajouter une référence web et visual studio nous génère la classe proxy à utiliser.
Citation:
Sur l'AJAX : on sait que AJAX nous permet de faire des pages qui ne se rechager pas intégralement, avec des UpdatePanel. Alors est ce qu'il parait utile/agréable/fonctionnel/pas idiot d'imaginer mettre des "composants" SL dans un ou plusieurs UpdatePanel et travailler en aller/retour serveur sans recharger la page ? Est ce que ma question est plus claires ?
Une application Silverlight ne peut pas faire de postback sur la page.
Il n'y a jamais de rechargement de ta page, peu importe le traitement que tu effectues dans ton application Silverlight.
Après si tu vas une dropdownlist qui effectue un postback sur ta page aspx, alors là oui ton application sera rechargée entièrement, d'où l'utilité de mettre ta dropdownlist dans un updatepanel.
Mais pour l'application Silverlight, c'est pas nécessaire.
Citation:
Là, je vais aller voir VS 2008 Expres (et surtout si on peut l'installer à côté de VS 2005 sans mettre la grouille)
Oui on peut, j'ai eu un temps VS 2005 pro, VS 2008 pro et vs 2005 express sans aucun soucis.
Pour finir n'hésite pas à lire mon article d'introduction sur Silverlight 2.
http://broux.developpez.com/articles...silverlight-2/