• Stars
    star
    687
  • Rank 65,799 (Top 2 %)
  • Language
    C#
  • License
    GNU Lesser Genera...
  • Created over 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Toast notifications for WPF allows you to create and display rich notifications in WPF applications. It's highly configurable with set of built-in options like positions, behaviours, themes and many others. It's extendable, it gives you possibility to create custom and interactive notifications in simply manner.
 _______              _   _   _       _   _  __ _           _   _                         ___  
|__   __|            | | | \ | |     | | (_)/ _(_)         | | (_)                       |__ \
   | | ___   __ _ ___| |_|  \| | ___ | |_ _| |_ _  ___ __ _| |_ _  ___  _ __  ___   __   __ ) |
   | |/ _ \ / _` / __| __| . ` |/ _ \| __| |  _| |/ __/ _` | __| |/ _ \| '_ \/ __|  \ \ / // /
   | | (_) | (_| \__ \ |_| |\  | (_) | |_| | | | | (_| (_| | |_| | (_) | | | \__ \   \ V // /_
   |_|\___/ \__,_|___/\__|_| \_|\___/ \__|_|_| |_|\___\__,_|\__|_|\___/|_| |_|___/    \_/|____|

ToastNotifications v2

Toast notifications for WPF

ToastNotifications allows you to create and display rich notifications in WPF applications. It's highly configurable with set of built-in options like positions, behaviours, themes and many others. It's extendable, it gives you possibility to create custom and interactive notifications in simply manner.

Build status Code Climate Issue Count Nuget install Nuget install LGPL v3 license

Demo

demo

Usage

Example code

1 Install via nuget:

ToastNotifications and ToastNotifications.Messages

Install-Package ToastNotifications
Install-Package ToastNotifications.Messages

ToastNotifications v2 is plugin oriented.

Nugget "ToastNotifications" is a core, which contains only main mechanisms for creating and displaying notifications. Predefined messages and other not key functionalities are provided by separate nuggets.

Nugget ToastNotifications.Messages contains basic messages like error, information, warning, success. It's not required in case you want to create your own messages.

2 Import ToastNotifications.Messages theme in App.xaml

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/ToastNotifications.Messages;component/Themes/Default.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

3 Create Notifier instance

using ToastNotifications;
using ToastNotifications.Lifetime;
using ToastNotifications.Position;
/* * */
Notifier notifier = new Notifier(cfg =>
{
    cfg.PositionProvider = new WindowPositionProvider(
        parentWindow: Application.Current.MainWindow,
        corner: Corner.TopRight,
        offsetX: 10,  
        offsetY: 10);

    cfg.LifetimeSupervisor = new TimeAndCountBasedLifetimeSupervisor(
        notificationLifetime: TimeSpan.FromSeconds(3),
        maximumNotificationCount: MaximumNotificationCount.FromCount(5));

    cfg.Dispatcher = Application.Current.Dispatcher;
});

4 Use provided messages

using ToastNotifications.Messages;
/* * */
notifier.ShowInformation(message);
notifier.ShowSuccess(message);
notifier.ShowWarning(message);
notifier.ShowError(message);

5 Dispose notifier when it's no longer needed

/* * */
notifier.Dispose();

Documentation

  • Relesae notes Release notes, description of new features, bug fixes and breaking changes.

  • Upgrading from v1 ToastNotifications v2 is completely new implementation and it's not compatibile with version 1, follow migration instructions to upgrade to the new version.

  • Configuration ToastNotifications v2 has lots of configuration options for its position, lifetime, messages and many others, this document describe them all.

  • Creating custom notifications This document describes how to create your own notifications.

  • Strongly named assemblies ToastNotifications v2 assembies are signed. Read this doc for more details.

Contributors

Andy Li (https://github.com/oneandy)

B. Micka (https://github.com/b-mi)

CuiLiang (https://github.com/cuiliang)

BrainCrumbz (https://github.com/BrainCrumbz)

Fischjoghurt (https://github.com/Fischjoghurt)

Francois Botha igitur (https://github.com/igitur)

Jan M. (https://github.com/Pantheas)

Johannes Jidel (https://github.com/jidel)

Kostiantyn (https://github.com/dualbios)

Krzysztof Zmorzyński (https://github.com/ZmorzynskiK)

Robin Krom Lakritzator (https://github.com/Lakritzator)

Uwy (https://github.com/Uwy)

William David Cossey (https://github.com/wdcossey)

Creating new issues

Before you create new issue, please check the documentation, because many features and options are already there. (https://github.com/raflop/ToastNotifications/tree/master-v2/Docs)

If there is still a problem, please create new issue/question filling following informations. If it's possible, please provide a sample code to reproduce issue.