Una de las primeras cosas que llama la atención de Windows 10 es su centro de notificaciones, algo que ya es muy conocido para los que usamos un smartphone pero que todavía estaba poco explotado en el escritorio. En este artículo os proponemos programar una notificación para vuestra aplicación
¿Qué es una notificación?
Las notificaciones no son otra cosa que una ventana de reducidas dimensiones, en las que se suele mostrar un pequeño texto informativo. Aunque con la llegad de Windows 10 se ha procedido a incluir mayor funcionalidad y por ello las denominan notificaciones interactivas, ya que permiten algo más que mostrar una información. Cómo se puede ver en la siguiente imagen:
Creando una notificación en nuestra aplicación para Windows 10
Lo primero que necesitamos es tener Windows 10 instalado y Visual Studio 2015 (en cualquiera de sus versiones), con el soporte a aplicaciones universales. Ahora lo que tenemos que hacer es crear un nuevo proyecto de aplicación universal.
Ahora debemos abrir el fichero MainPage.xaml y añadir un botón dentro del grid (para ello pasamos a la vista de código y entre los tag de grid añadimos):
<Button x:Name="button" Content="Notifícame" HorizontalAlignment="Stretch" VerticalAlignment="Top" Background="{ThemeResource SystemControlHighlightAltBaseHighBrush}" Foreground="{ThemeResource SystemControlHighlightAltAltHighBrush}" Click="button_Click"/>
Después tenemos que escribir el método button_click en el fichero MainPage.xaml.cs donde mostrar la información:
private void button_Click(object sender, RoutedEventArgs e)
{
var notificacion = new InteractiveToast();
var visual = new Visual();
//Titulo
visual.AddText(new Text("Alerta"));
//Cuerpo textual
visual.AddText(new Text("Nuevo post en Somos Binarios"));
//Logo de la notificacion
visual.AddImage(new VisualImage("ms-appx:///Assets/foto.png")
{
ImagePlacement = ImagePlacement.AppLogoOverride
});
notificacion.SetVisual(visual);
var notification = notificacion.GetNotification();
ToastNotificationManager.CreateToastNotifier().Show(notification);
}
Como veis es tremendamente sencillo, pero tiene un truco y es el uso de la librería InteractiveToastExtensions, que facilita el uso de este tipo de notificaciones.
Para instalarla debéis ir a la solución, click derecho, administración de paquetes de Nuget y buscar e instalar InteractiveToastExtensions:
El resultado de la ejecución es el siguiente:
Además si no la eliminamos, queda en nuestro centro de notificaciones:
Esperamos que os haya gustado nuestra entrada, si vemos que es bien acogida iremos profundizando en otro tipo de notificaciones más complejas que permite Windows 10.
9 comentarios en “Crear notificaciones en Windows 10”
Fede
Hola, tenes idea si es posible aplicarlo en un proyecto de servicio de windows? y otra cosa , la libreria no esta disponible en el administrador de paquetes nuget. Gracias
Jorge
Creo que se puede aplicar a cualquier tipo de proyecto de Windows y para ello puedes seguir este recurso
Nicolas
Seria que abra un .exe que sea mas facil para los que no sabemos del tema de codigos? o para personas como mi amigo que es un poco como digo flojo
The Troll
Hola!,Sera Que Pueden,Crear Un Post Donde Diga: Crear Notificaciones En Windows 7 Y XP?
Jorge
Lo que comento en este artículo solo sirve para Windows 10, porque usa cosas que introduce esta versión. Pero puedes utilizar esto https://docs.microsoft.com/en-us/windows/win32/shell/notification-area#notifications-and-the-notification-area para hacer notificaciones en Windows 7, no sé si en XP funcionará.
Un saludo.
John Jiménez
Hola, me gustaría saber si se puede hacer lo del UWP en un Servidor Windows y que se envíe una notificación a los usuarios del dominio. Es que es una idea loca que se les ocurrió a los de comunicaciones aquí en la empresa…
Gracias por responder…
Jorge
Quizás sería más fácil que los usuarios del dominio tuvieran instalado algún software que generase es notificación, y mandar un evento a todos esos usuarios, pero no tengo claro la mejor manera de hacerlo.
Un saludo.
William Santizo
Una duda, hay posibilidades de que se pueda hacer en una consola central y replicar lo que uno quiera enviar como mensaje, noticia, encuesta a usuarios que esten en la misma red?
Jorge
Sí aunque el funcionamiento debería ser distinto, desde la consola central enviar información a un programa en cada ordenador que escuchase y luego este lanzar la notificación. Aunque en el caso de Windows 10 sería mucho más sencillo con una UWP y lanzando la notificación desde el servicio de Google o Microsoft.
Un saludo.