I think you don't need any third party controls. You always may create a custom control, paste it in a layout and bind layouts Visibility property to your view model. Another option is to use StatusBar to notify clients like in Word or VisualStudio. There is a just brief example:
Somewhere in xaml:
// ..
<StatusBar DockPanel.Dock="Bottom">
<StatusBarItem>
<Label Content="{Binding Message}"></Label>
</StatusBarItem>
</StatusBar>
// ..
Somewhere in your code (I like to use async/await with WPF):
// ..
statusBarViewModel.Message = "Processing the file..."; // assumed that you bind this view model to the view
await DoWork(); // do much work
await statusBarViewModel.ShowMessageAndHide("File saved"); // show final message and hide it after some time
// ..
And StatusBarViewModel:
public class StatusBarViewModel : INotifyPropertyChanged
{
private string message = string.Empty;
public string Message
{
get { return message; }
set
{
if (value == message) return;
message = value;
OnPropertyChanged();
}
}
public async Task ShowMessageAndHide(string message)
{
Message = message;
await Task.Delay(5000);
Message = string.Empty;
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
var handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
}