Accueil > Silverlight, Silverlight 4 > [SL4] : Toast notifications

[SL4] : Toast notifications

Une nouveauté de Silverlight 4 est la possibilité de réaliser des notifications sur le bureau de l’utilisateur à l’instar des notifications Outlook.  

Toutefois cette fonctionnalité n’est proposée que si votre application est en mode OOB ! dommage !  

Exemple de code permettant d’activer cette fonctionnalité :  

Lanceur

   

Code XAML

 

  
<UserControl x:Class="SLNotifications.MainPage"
			 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
			 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

	<Grid x:Name="LayoutRoot"
		  Background="White">
		<Button x:Name="NotifyButton"
				Content="Notifier"
				Click="NotifyButton_Click"
				HorizontalAlignment="Center"
				VerticalAlignment="Center" />
	</Grid>
</UserControl>

 

Code behind

 

  
using System.Windows;
using System.Windows.Controls;

namespace SLNotifications
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void NotifyButton_Click(object sender, RoutedEventArgs e)
        {
            NotificationWindow notify = new NotificationWindow()
            {
                Width = 300,
                Height = 90,
                Content = new MyNotifyWindow()
                {
                    DataContext = "Exemple de texte pour la notification, normalement on devrait créer une classe avec plus d'informations, ceci est juste un test."
                }
            };

            notify.Show(3000);
        }
    }
}

 

Contrôle de notification customisé

L’API de notification demande à afficher un controle  au sein de la pop up, dont voici un exemple :

<UserControl x:Class="SLNotifications.MyNotifyWindow"
			 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
			 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
	<Grid Height="90"
		  HorizontalAlignment="Center"
		  VerticalAlignment="Center"
		  Width="300">
		<Rectangle Fill="#FF618DEC"
				   Stroke="White">
			<Rectangle.Effect>
				<DropShadowEffect Opacity="0.5"
								  ShadowDepth="0" />
			</Rectangle.Effect>
		</Rectangle>
		<TextBlock HorizontalAlignment="Left"
				   VerticalAlignment="Top"
				   TextWrapping="Wrap"
				   Margin="5"
				   Foreground="White"
				   Text="{Binding}" />
		<Path Stretch="Fill"
			  StrokeThickness="0"
			  Data="M0,0 L300,0 C191.8456,13.650899 91.632263,43.223179 0,90 z"
			  UseLayoutRounding="False"
			  Margin="1">
			<Path.Fill>
				<LinearGradientBrush EndPoint="0.5,1"
									 StartPoint="0.5,0">
					<GradientStop Color="#59FFFFFF"
								  Offset="0" />
					<GradientStop Color="#19FFFFFF"
								  Offset="1" />
				</LinearGradientBrush>
			</Path.Fill>
		</Path>
	</Grid>
</UserControl>

Exécution

Pensez à activer le mode OOB et à installer l’application (sinon cela ne fonctionnera pas)

Simple et pratique si vous en avez besoin dans vos applications OOB !

Code source SLNotifications.zip

Publicités
Catégories :Silverlight, Silverlight 4
  1. Aucun commentaire pour l’instant.
  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

w

Connexion à %s

%d blogueurs aiment cette page :