Silverlight - Le package de débogage managé de Silverlight n'est pas installé

by Fabien Lavocat 30. juillet 2010 10:58

imageSi vous souhaitez faire du développement Silverlight 3 sur Visual Studio 2008 SP1 vous pourrez obtenir le message suivant : “Impossible de démarrer le débogage. Le package de débogage managé de Silverlight n'est pas installé” ou en anglais : “Unable to start debugging. The Silverlight managed debugging package isn't installed.”. La solution à ce problème est toute simple.

Voici la procédure d’installation à suivre :

Tags:

Silverlight

Silverlight – Hash SHA1 dans vos applications

by Fabien Lavocat 26. novembre 2009 16:40

Silverlight

Aujourd’hui, j’ai été confronté à un problème de sécurité dans une application Silverlight que je réalise (vous en verrez un peu plus prochainement). J’utilise de l’authentification pour des utilisateurs, or pour hacher des mots de passe, il n’y a pas de méthode managée toute prête qui prend en paramètre une chaine de caractère et qui ressort le hash SHA1. Nous allons donc créer une méthode d’extention. Commencer par importer les espaces de noms suivants :

using System.Security.Cryptography;
using System.Text;

Ensuite, dans une classe statique, nous créons la méthode suivante :

public static String ToSHA1(this String entry)
{
   
SHA1Managed sHA1Managed = new SHA1Managed();
   
Byte[] result = sHA1Managed.ComputeHash(new UTF8Encoding().GetBytes(entry));
   
StringBuilder hashedString = new StringBuilder();
   
foreach (Byte outputByte in result)
        hashedString.Append(outputByte.ToString(
"x2").ToUpper());

   
return hashedString.ToString();
}

Nous pouvons donc maintenant l’utiliser de cette façon :

String password = "password";
String hashedPassword = password.ToSHA1();

Tags:

Silverlight

Silverlight 3 – Utiliser la molette de la souris

by Fabien Lavocat 25. novembre 2009 12:00

image Hier, nous avons vu comment utiliser la molette de la souris en Silverlight 2. Aujourd’hui voyons comment utiliser la molette de la souris sur le contrôle ScrollViewer de Silverlight 3.

Commençons pas s’abonner à l’événement MouseWheel du contrôle ScrollViewer :

<ScrollViewer x:Name="PageScrollViewer" Style="{StaticResource PageScrollViewerStyle}" MouseWheel="PageScrollViewer_MouseWheel">

Et ensuite dans le code C# de la page :

private void PageScrollViewer_MouseWheel(object sender, MouseWheelEventArgs e)
{
   
Int32 mouseDelta = Math.Sign(e.Delta);

   
if (mouseDelta.Equals(1))
        PageScrollViewer.ScrollToVerticalOffset(PageScrollViewer.VerticalOffset - 35);
   
else
        PageScrollViewer.ScrollToVerticalOffset(PageScrollViewer.VerticalOffset + 35);
}

 La valeur 35 représente la valeur du déplacement de la ScrollBar. Cette valeur me semble tout à fait correcte pour l’affichage d’un GridView par exemple. Vous pouvez modifier cette valeur à votre convenance.

Tags:

Silverlight

Silverlight 2 – Utiliser la molette de la souris

by Fabien Lavocat 24. novembre 2009 10:33

imageSilverlight 2 a fait apparaître le contrôle ScrollViewer, qui permet d’afficher des ScrollBar horizontales et verticales lorsque le contenu est plus grand que le contenant. Le gros problème dans Silverlight est que la molette de la souris n’est pas utilisable nativement dans notre application Silverlight 2. Il va donc falloir utiliser les événements provenant de la page HTML. Je ne vais pas recopier du code existant sur des dizaines de sites et en français, mais vous renvoyer vers le blog de Julien Dollon.

Le prochain post sera sur l’utilisation de la molette de la souris avec Silverlight 3.

Tags:

Silverlight

PDC 2009 – Silverlight 4 présenté

by Fabien Lavocat 19. novembre 2009 14:00

image

La PDC 2009 (Professional Developer Conference) de Microsoft, a lieu jusqu’à ce soir à Los Angeles. Vous pourrez regarder le Keynote ce soir en direct sur MicrosoftPDC, mais également revoir le Keynote du premier jour avec Ray Ozzie et Scott Guthrie.

Hier Scott Guthrie nous a présenté la nouvelle version de Silverlight 4, disponible en version bêta. Pour vous lancer dans le développement, visitez le site Silverlight.net. Parmi toutes les nouveautés, on pourra noter la possibilité d’avoir un ContextMenu natif ! 60 nouveaux contrôles mais également la possibilité d’interagir avec des applications installées sur la machine. Lorsque le Keynote du second jour sera disponible, vous verrez comment Scott Guthrie fait un copier / coller d’informations sous Word et Excel. Une des choses qui m’a le plus marqué reste quand même le support de la webcam et du micro dans votre application Silverlight. Vous allez me dire que Flash le fait déjà depuis des années, mais grâce aux librairies .NET il est possible de réaliser pleins de choses qui ne seront pas forcement possible avec Flash. Ensuite, au niveau des nouveautés introduites dans cette nouvelle version, on peut noter la possibilité d’imprimer des documents, le support de Google Chrome. Pour voir un peu plus en détail toutes les nouveautés, rendez-vous sur le blog de Tim Heuer (en anglais).

PDC09Bling_BeforeAfter_136

Rendez-vous ce soir à 17h30 sur MicrosoftPDC pour le live du Keynote. (Edit : pas de Keynote ce soir)

Tags: ,

Silverlight

Silverlight – Comment réaliser un ContextMenu

by Fabien Lavocat 10. novembre 2009 16:40

SilverlightDans cet article, nous allons voir comment réaliser un ContextMenu en Silverlight. Pourquoi vouloir réaliser un ContextMenu, tout simplement car lorsque vous faites un clic droit sur vos applications Silverlight, vous obtenez un menu qui vous propose de configurer Silverlight.

imageCommencez par créer votre application Silverlight sous Visual Studio. Une page Web qui héberge l’application Silverlight doit être créée automatiquement. Afficher le code source de cette page et ajouter l’attribut Windowless avec la valeur true à la balise Object du host Silverlight. Pour plus d’informations sur Windowless, consultez la page MSDN dédiée.

 

<param name="windowless" value="true" />

Ensuite je créé mon menu (ici la base de mon menu sera un StackPanel pour empiler des boutons. J’applique un style à chaque bouton qui lui donnera une forme plus adaptée au thème du menu. Vous pourrez récupérer le style en téléchargeant le code source à la fin de l’article.

<Canvas x:Name="LayoutRoot" MouseLeftButtonDown="Canvas_MouseLeftButtonDown"
     Background="White">

    <StackPanel Visibility="Collapsed" x:Name="myLstMenu"
               HorizontalAlignment="Left" VerticalAlignment="Top" Width="Auto">
            
       
<StackPanel.Effect>
            <DropShadowEffect Opacity="200"/>
        </StackPanel.Effect>
        
       
<Button x:Name="btRed" Style="{StaticResource MenuStyleButton}"
               Content="Background : Rouge" Click="btRed_Click" />
        <Button x:Name="btBlue" Style="{StaticResource MenuStyleButton}"
               Content="Background : Bleu" Click="btBlue_Click" />
    </StackPanel>

</
Canvas>

Attention, Vous devez obligatoirement avoir une couleur de fond différente de ‘Transparent’ sous peine que votre clic gauche ne fonctionne pas (l’événement MouseLeftButtonDown ne serait pas déclenché). Merci Julien pour l’astuce. L’événement MouseLeftButtonDown permet de cacher le menu.

Maintenant passons au code qui permettra d’afficher le menu là où l’utilisateur fera un clic droit :

public MainPage()
{
    InitializeComponent();

   
// Appelle "OnRightClick" lorsque le DOM déclenche "oncontextmenu"
    HtmlPage.Document.AttachEvent("oncontextmenu", this.OnRightClick);
}

private void OnRightClick(object sender, HtmlEventArgs e)
{
   
// Ne pas exécuter l'action par défaut
    e.PreventDefault();

   
// Affiche le menu
    myLstMenu.Visibility = Visibility.Visible;
   
// Positionne le menu là où est la souris
    myLstMenu.Margin = new Thickness(e.ClientX, e.ClientY, 0, 0);
}

private void Canvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
   
// Lorsque le bouton gauche de la souris est enfoncé
    // en dehors du contextMenu, on le cache.
    if (myLstMenu.Visibility == Visibility.Visible)
        myLstMenu.Visibility =
Visibility.Collapsed;
}

Lorsque l’on va cliquer sur les boutons on va changer le fond de couleur grâce aux méthodes :

private void btRed_Click(object sender, RoutedEventArgs e)
{
   
// Rouge
    SetBackground(Color.FromArgb(255, 255, 0, 0));
}

private void btBlue_Click(object sender, RoutedEventArgs e)
{
   
// Bleu
    SetBackground(Color.FromArgb(255, 0, 0, 255));
}

/// <summary>
///
D?finir la couleur de fond
/// </summary>
///
 <param name="color">Couleur ? d?finir</param>
private void SetBackground(Color color)
{
   
this.LayoutRoot.Background = new SolidColorBrush(color);
    myLstMenu.Visibility =
Visibility.Collapsed;
}

Et voilà le résultat :

image

Télécharger le code source de l’application : SilverlightContextMenu.zip (59,82 kb)

Tags:

Silverlight

Livre Blanc sur Silverlight 3 par Julien Dollon

by Fabien Lavocat 21. juillet 2009 08:00

Silverlight

 

Julien Dollon, nouvellement MVP Client Application Development, viens de publier un White Paper sur la migration d’applications de Silverlight 2 à Silverlight 3, sur l’utilisation d’Expression Blend 3 et les .NET RIA Services. Si tous ces noms vous paraissent barbares, lisez le attentivement !

Télécharger le Livre Blanc Silverlight 3.

Tags:

Silverlight

Silverlight 3 RTW disponible dès aujourd'hui

by Fabien Lavocat 9. juillet 2009 22:55

SilverlightSilverlight 3 vient de sortir dès aujourd'hui en version RTW (Release To Web) !

Faites dès aujourd'hui la migration vers la version 3.0.40624.0 maintenant, sur le site Silverlight.net.

Le fichier d'installation ne pèse que 4Mo et ne prend pas plus de 10 secondes à s'installer. Si vous souhaitez connaître toutes les nouveautés apportées par Silverlight 3, consulter le blog de Julien Dollon nouvellement MVP Client Application Development, félicitation à lui !

Tags:

Silverlight

Silverlight Streaming - Michael Jackson Memorial

by Fabien Lavocat 7. juillet 2009 10:17

SilverlightAujourd’hui, Mardi 7 Juillet 2009, 10AM Pacific Time, 1PM East Time, 19h Paris, auront lieu les obsèques de Michael Jackson au Staples Center de Los Angeles. Si vous ne pouvez pas faire le déplacement, le site InMusic les diffuseront en direct et en haute définition grâce à la technologie IIS Smooth Streaming en Silverlight.

Vous pourrez dès ce soir (heure de Paris) regarder le live ici : http://inmusic.ca/news_and_features/Michael_Jackson.

Tags:

Silverlight

Live Meeting Saga Visual Studio Episode 4 : Windows Presentation Foundation / Silverlight

by Fabien Lavocat 30. mars 2009 08:54

Visual Studio

4° épisode des Live meeting de la saga Visual Studio, Mardi 31 mars à 18h30, aura pour sujet des interfaces riches en WPF et Silverlight.

Il sera animé par Florent Santin (MVP), Thomas Lebrun (MVP) et Stéphane Goudeau (Architecte au Microsoft Technology Center de Paris).

Inscrivez-vous pour le Live Meeting du mardi 31 mars !

Tags: ,

Visual Studio

A propos de l'auteur

Fabien Lavocat

Lavocat Fabien
Ingénieur Multimédia - TMM Communication



"Blog-Microsoft.fr is an independent blog and is not affiliated with, nor has it been authorized, sponsored, or otherwise approved by Microsoft Corporation."

Contactez-moi Send mail

MVP
Microsoft Most Valuable Professional
Client Application Development