Nuget package https://www.nuget.org/packages/Wpf.BusyIndicatorEasy/
XAML code
<Window x:Class="MyApplication.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:busyIndicatorEasy="clr-namespace:Wpf.BusyIndicatorEasy;assembly=Wpf.BusyIndicatorEasy"
Title="MainWindow" Height="424.403" Width="710.97">
<busyIndicatorEasy:BusyIndicator x:Name="MyBusyIndicator"
BusyContent="Loading" MinValue="0" MaxValue="100"
MouseDoubleClick="MyBusyIndicator_OnMouseDoubleClick">
<StackPanel HorizontalAlignment="Center" Height="Auto"
VerticalAlignment="Top" Width="Auto" Orientation="Vertical">
<TabControl Height="378" Margin="0,10,0,0" Width="682">
<TabItem Header="My screen">
<StackPanel Orientation="Vertical">
<Canvas Height="160"></Canvas>
<TabControl Height="167" Margin="10,10,10,0"
Width="Auto">
Width="Auto">
<TabItem Header="TabItem">
<Canvas>
<Button Content="Indeterminate"
Canvas.Left="534"
Canvas.Left="534"
Canvas.Top="94" Width="100"
Click="Button_Click_1"/>
<Button Content="Progress"
Canvas.Left="534"
Canvas.Left="534"
Canvas.Top="67" Width="100"
Click="Button_Click"/>
</Canvas>
</TabItem>
<TabItem Header="TabItem">
<Canvas></Canvas>
</TabItem>
</TabControl>
</StackPanel>
</TabItem>
</TabControl>
</StackPanel>
</busyIndicatorEasy:BusyIndicator>
</Window>
Backend code (C#)
private void Button_Click(object sender, RoutedEventArgs e)
{
// With progress
MyBusyIndicator.BusyContent="My text progress... (double click to close me)";
MyBusyIndicator.IsIndeterminate = false;
MyBusyIndicator.CurrentProgressValue = (DateTime.Now.Second/60.00)*100;
MyBusyIndicator.IsBusy = true;
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
// Indeterminate
MyBusyIndicator.BusyContent="Indeterminate... (double click to close me)";
MyBusyIndicator.IsIndeterminate = true;
MyBusyIndicator.IsBusy = true;
}
private void MyBusyIndicator_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
// How to hide BusyIndicator
MyBusyIndicator.IsBusy = false;
}