Silverlight+WPF

Blog d'Alexandre Arnaudet et de ses collègues chez CLT-Services autour de WPF, de Silverlight et des RIA

Recent posts

Tags

Categories

Navigation

Pages

    Archive

    Blogroll

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    Accès à l’IsolatedStorage depuis des applications différentes d’un même site

    Récemment j’ai eu le besoin de partager des informations entre différentes applications Silverlight qui étaient hébergées sur le même site. Par même site il faut comprendre accessibles depuis le même sous domaine.

    Prenons un exemple.

    Deux applications disponibles de la manière suivante:

    Chacune des applications se trouvant aux Urls ci-dessus ont un espace de stockage dédié à l’application. Il est possible d’y ajouter ou modifier des éléments à partir d’ApplicationSettings.

    IsolatedStorageSettings.ApplicationSettings.Add("key", "value");

    Maintenant pour avoir un espace partagé entre les applications xap des sites App1 et App2, il vous suffit simplement d’accéder à l’IsolatedStorage via SiteSettings se trouvant également dans IsolatedStorageSettings.

    IsolatedStorageSettings.SiteSettings.Add("key", "value");

    Rien de bien compliqué, mais plutôt pratique !!

    La méthode que nous venons de voir correspond à un raccourci pour obtenir le contenu des différents stores. Pour une plus grande souplesse vous pouvez accéder à ces stores via les méthodes

      IsolatedStorageFile.GetUserStoreForApplication();
      IsolatedStorageFile.GetUserStoreForSite();
      A partir de là, vous pourrez par exemple créer une arborescence, connaitre l’espace utilisé et restant, agrandir l’espace courant pour stoker un nombre de données plus important…
    Posted: May 16 2011, 23:21 by Alexandre Arnaudet | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under:
    MEF- AppSettings Catalog

    Si vous avez lu les précédents billets, vous aurez remarqué que ces derniers parlent de situations rencontrées lors de ma mission actuelle. Ce sera encore le cas pour ce billet, où nous allons voir comment créer un catalogue basé sur les AppSettings du fichier de configuration.

    Besoin:

    Dans cette application, nous avons un service d’authentification qui selon certains critères peut choisir tel ou tel module pour authentifier l’utilisateur. La résolution du module en question est faite via MEF. Ce module peut avoir besoin de paramètres comme par exemple l’url d’un Web Service et l’environnement sur lequel on souhaite réaliser cette opération.

    Plutôt que de toujours faire appel à ConfigurationManager.AppSettings[key] dans le module lui-même je souhaitais trouver un moyen d’injecter ces valeurs. Ceci est notamment possible avec MEF, c’est ce que nous allons voir tout de suite.

    Posted: Mar 29 2011, 00:51 by Alexandre Arnaudet | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under: MEF | Silverlight
    Silverlight 3 et 4 / MEF: durée de vie du ViewModel

    Dans le cadre de ma mission, je développe en ce moment une application utilisant Silverlight.  Nous avons décidé d’appliquer le pattern MVVM. Pour chaque page, nous avons donc un ViewModel assigné au DataContext, dans lequel sont injectés différents services nécessaires à nos besoins.

    Pré-requis de l’application:

    • Utilisation de MEF, pour faire la résolution des ViewModels et de leurs services.
    • Lorsque l’on navigue sur une nouvelle page, celle-ci doit être dans le même état que lors du premier accès.

    More...

    Posted: Mar 12 2011, 11:14 by Alexandre Arnaudet | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under:
    Silverlight - Développement d'un expander

    Dans un projet récent, j'avais besoin de masquer certaines parties de la page. Je sais qu'il existe dans des librairies tierces des contrôles permettant de déjà réaliser cette opération. Cependant, il y a certains projets, où il est impossible d'utiliser ces librairies.

    Ce que je vous propose dans ce billet c'est donc d'en développer un simple.

    A quoi doit-il ressembler ?

    Graphiquement, il sera composé de quatre parties:

    • une partie header pour afficher une description de la partie en question.
    • un bouton au niveau du header pour activer l'animation permettant de masquer ou afficher le contenu.
    • une partie dans laquelle se trouvera le  contenu à masquer ou à afficher.
    • Et un séparateur entre le header et le contenu à afficher.

    Allez démarrons...

    More...

    Posted: Feb 10 2011, 23:45 by Alexandre Arnaudet | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under: Silverlight
    Silverlight - Gérer l'état Activé / désactivé d'un bouton avec une ICommand

    Dans le développement d'une application Silverlight ou WPF, on a l'habitude d'utiliser les ICommand pour communiquer de manière découplée entre une View (V) et un ViewModel (VM).

    Regardons d'un peu plus près de quelles propriétés / méthodes est constituée cette interface.

    More...

    Posted: Jan 18 2011, 00:41 by Alexandre Arnaudet | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under: Silverlight | WPF
    Silverlight - Modifier les styles au runtime

    Lors d'une mission récente, un des pré-requis graphique était d'avoir des couleurs différentes au niveau de la  MainPage et des pages de la NavigationFrame en fonction du menu sélectionné.

    Au travers de ce billet, nous verrons une solution qu'il est possible d'implémenter pour modifier les styles des différents contrôles au Runtime.

    More...

    Posted: Jan 12 2011, 23:59 by Alexandre Arnaudet | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under: Silverlight
    Silverlight 4 - Validation de données avec INotifyDataErrorInfo

    Lors du développement d'une application, le développeur doit s'assurer que l'utilisateur ne pourra pas entrer de données non valides.

    Avec Silverlight 4, il existe plusieurs méthodes pour procéder à la validation des données.

    • Via des attributs que l'on peut trouver dans System.ComponentModel.DataAnnotations
    • L'interface IDataErrorInfo
    • L'interface INotifyDataErrorInfo

    Dans ce billet je vous propose de voir plus en détail comment utiliser INotifyDataErrorInfo.

    More...

    Posted: Jan 04 2011, 00:23 by Alexandre Arnaudet | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under: Silverlight 4 | Binding
    Fault Exception avec WCF / Silverlight

    Par défaut, lorsqu'une exception est levée dans une méthode d'un service, le contenu de l'exception n'est pas envoyé au client qui consomme le service.

    Lors de la phase de développement, une pratique commune est de modifier la behavior associée au service en ajoutant l'élément serviceDebugincludeExceptionDetailInFaults à true pour que les erreurs puissent remonter jusqu'au client. Bien entendu, n'oubliez pas de désactiver cette option lors de la livraison de votre service en production.

    More...

    Posted: Dec 18 2010, 18:02 by Alexandre Arnaudet | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under: Silverlight | WCF
    Erreur x80020101 avec Silverlight 3, SSL sous IE 6

    Depuis peu de temps je suis passé sur le développement d'une application Silverlight 3 pour le client où je suis actuellement.

    Nous avons réalisé les premiers développements sans encombre et ces derniers jours nous avons décidé de déployer l'application sur un serveur, afin que le client puisse tester et prendre en main l'application tout au long de son développement.

    More...

    Posted: Nov 21 2010, 17:46 by Alexandre Arnaudet | Comments (4) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under: Silverlight 3
    Déploiement des binaires RIA Services Beta

    Lorsque Microsoft a mis à disposition la première version des RIA Services, l'installation des binaires se faisait via un fichier MSI. Avant de procéder à l'installation des binaires dans le GAC, le MSI vérifiait certains pré requis comme l'installation de Visual Studio 2008 et les Silverlight tools

    Pendant la phase de développement d'un projet cela ne pose aucun problème, puisque ces outils sont nécessaires pour le développement, mais comment procéder pour le déploiement  sur un serveur.

    Deux possibilités existent:

    • La première consiste simplement à passer la propriété Copy Local des références RIA Services à true. Ainsi au moment de la compilation les binaires seront copiés dans le dossier bin. Il ne sera donc pas nécessaire d'utiliser un setup quelconque pour les installer dans le GAC.
    • La deuxième solution est d'utiliser le même MSI que pour l'installation sur la machine de développement mais en ligne de commande avec les paramètres suivants:   
      • msiexec /i RIAServices.msi SERVER=true

    En procédant ainsi, les binaires sont déployés dans le GAC et le MSI ne fait plus attention aux pré requis.

    Posted: Nov 18 2010, 23:07 by Alexandre Arnaudet | Comments (11) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under: Silverlight 3