Files
FloatingStatusWindow/Library/StartManager.cs

31 lines
879 B
C#

using ChrisKaczor.Wpf.Application;
using System;
using System.Windows;
namespace ChrisKaczor.Wpf.FloatingStatusWindow;
public static class StartManager
{
public delegate void AutoStartChangedEventHandler(bool autoStart);
public static event AutoStartChangedEventHandler AutoStartChanged = delegate { };
public static bool ManageAutoStart { get; set; }
private static bool _autoStartEnabled;
public static bool AutoStartEnabled
{
get => ManageAutoStart && _autoStartEnabled;
set
{
if (!ManageAutoStart)
throw new InvalidOperationException("Cannot set AutoStartEnabled when ManageAutoStart is False");
_autoStartEnabled = value;
System.Windows.Application.Current.SetStartWithWindows(_autoStartEnabled);
AutoStartChanged(_autoStartEnabled);
}
}
}