Wpf.NotificationCenter 1.1.5

dotnet add package Wpf.NotificationCenter --version 1.1.5                
NuGet\Install-Package Wpf.NotificationCenter -Version 1.1.5                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Wpf.NotificationCenter" Version="1.1.5" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Wpf.NotificationCenter --version 1.1.5                
#r "nuget: Wpf.NotificationCenter, 1.1.5"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Wpf.NotificationCenter as a Cake Addin
#addin nuget:?package=Wpf.NotificationCenter&version=1.1.5

// Install Wpf.NotificationCenter as a Cake Tool
#tool nuget:?package=Wpf.NotificationCenter&version=1.1.5                

Wpf.NotificationCenter

Image of an error expanded in the notification center

Objective

  • Create Toast Notifications
  • Create Alerts for the notification Center
  • Read previous alerts / toasts in one place.
  • Unread indicator
  • Customizable

Contents

Installation

Install NuGet Package (Wpf.NotificationCenter)

Choose one:

  • .NET CLI
    • dotnet add package Wpf.NotificationCenter --version 1.0.0
  • Package Manager
    • NuGet\Install-Package Wpf.NotificationCenter -Version 1.0.0
  • Package Reference
    • <PackageReference Include="Wpf.NotificationCenter" Version="1.*" />
  • Paket CLI
    • paket add Wpf.NotificationCenter --version 1.0.0
  • Script & Interactive
    • #r "nuget: Wpf.NotificationCenter, 1.0.0"
  • Cake
    • Install Wpf.NotificationCenter as a Cake Addin
      • #addin nuget:?package=Wpf.NotificationCenter&version=1.0.0
    • Install Wpf.NotificationCenter as a Cake Tool
      • #tool nuget:?package=Wpf.NotificationCenter&version=1.0.0

App.xaml (Add Theme)

  • Include theme resource dictionary

    <ResourceDictionary Source="pack://application:,,,/Wpf.NotificationCenter;component/Themes/Generic.xaml" />
    

App.xaml.cs (update the services collection)

  • Add using statement

    using Wpf.NotificationCenter.Extensions;
    
  • Add the services to the collection:

    services.UseWpfNotificationCenter();
    

MainWindow.xaml (Add Notification Center)

  • Add namespace

    xmlns:notificationCenter="clr-namespace:Wpf.NotificationCenter;assembly=Wpf.NotificationCenter"
    
  • Add Notification Center with content inside.

    <notificationCenter:NotificationCenter
          x:Name="NotificationCenter"
          VerticalAlignment="Stretch"
          HorizontalAlignment="Stretch"
          NewAlertColor="GoldenRod"
          AlertMaxWidth="175"
          MaxNotifications="10"
          BorderBrush="Blue"
          IsItemsAscending="False">
          <notificationCenter:NotificationCenter.Header>
    
              <c:MainNavMenu Grid.Row="0" Navigate="{Binding DataContext.NavigateCommand, RelativeSource={RelativeSource AncestorType={x:Type c:MainWindow}}}"
                                          ViewContext="{Binding DataContext.ViewContext, RelativeSource={RelativeSource AncestorType={x:Type c:MainWindow}}}" />
          </notificationCenter:NotificationCenter.Header>
          <notificationCenter:NotificationCenter.Content>
              <Grid>
    
              </Grid>
          </notificationCenter:NotificationCenter.Content>
    </notificationCenter:NotificationCenter> ```
    
    

Example Images

Notification Center resides in the header. Toast notifications can be shown.
Image of the notification center residing in the header Image of an error toast notification
Alert center Notification with collapsed message. Alert center Notification with expanded message.
Image of an error collapsed in the notification center Image of an error expanded in the notification center

Customization

Notification Center Element Properties

Property Category Value Type Default Description
AlertMaxHeight Size Double 200 The alert text content maximum height in the alert center.
AlertMaxWidth Size Double Auto The alert maximum width property of the notification center popup.
ButtonHorizontalAlignment Alignment HorizontalAlignment Right Indicates the placement of the Alert Center.
ButtonVerticalAlignment Alignment VerticalAlignment Top Indicates the placement of the Alert Center.
ButtonZIndex Visual Integer 999 Indicates the order in which the button is drawn over content.
BorderBrush (Inherited) Color Brushes Transparent Used for line colors in notification center and / or headers.
IsItemsAscending Sorting Boolean False Indicates the order of alerts in the notification center.
MaxNotifications Behavior Byte 0 (Unlimited) The upper limit of notifications allowed in the alert center. Oldest are removed when this number is exceeded.
NewAlertColor Color Brushes Goldenrod Color of the icon when there is a new alert.
NewAlertIcon Icon PackIconKind BellAlert The icon when there is a new alert.
NotificationSeconds Behavior Integer 5 Indicates how long the temporary toast message is displayed.
NoAlertIcon Icon PackIconKind Notifications The icon when there are no unread alerts.
PopupPlacement Visual PlacementMode Bottom Alert Center Popup Positioning.
PopupStaysOpen Behavior Boolean False Indicates if the popup should stay open or automatically close when clicking away.
ShowButtonInHeader Behavior Boolean True Sets whether the notification center button is visibile. Set to 'False' to hide the button.
ShowButtonInContent Behavior Boolean False Sets whether the notification center button is visibile. Set to 'False' to hide the button.
Example

See usage in main window section.

Detailed Customization Theme File

Most of the look / feel is defined in the generic.xaml file. Primary theme styles are inherited from the theme of the site.

Click here to view the theme - generic.xaml

API Documentation

API Documentation

Release Notes

  • Initial Release - v1.0.0.
  • Add UI fixes, more customization, fix bugs - v1.1.0.
  • Add Notification Options, Customization Options - v1.1.1.
  • Add more customization and adjust behaviors - v1.1.5.
Product Compatible and additional computed target framework versions.
.NET net6.0-windows7.0 is compatible.  net7.0-windows was computed.  net7.0-windows7.0 is compatible.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.5 276 10/30/2023
1.1.4 153 10/24/2023
1.1.0 166 10/23/2023
1.0.1 135 10/20/2023
1.0.0 152 10/17/2023