// ReSharper disable once CheckNamespace
using WPFluent.Input;
namespace WPFluent.Controls;
///
/// An is an inline notification for essential app- wide messages. The InfoBar will take up space
/// in a layout and will not cover up other content or float on top of it. It supports rich content (including titles,
/// messages, and icons) and can be configured to be user-dismissable or persistent.
///
public class InfoBar : System.Windows.Controls.ContentControl
{
///
/// Identifies the dependency property.
///
public static readonly DependencyProperty IsClosableProperty = DependencyProperty.Register(
nameof(IsClosable),
typeof(bool),
typeof(InfoBar),
new PropertyMetadata(true));
///
/// Identifies the dependency property.
///
public static readonly DependencyProperty IsOpenProperty = DependencyProperty.Register(
nameof(IsOpen),
typeof(bool),
typeof(InfoBar),
new PropertyMetadata(false));
///
/// Identifies the dependency property.
///
public static readonly DependencyProperty MessageProperty = DependencyProperty.Register(
nameof(Message),
typeof(string),
typeof(InfoBar),
new PropertyMetadata(string.Empty));
///
/// Identifies the dependency property.
///
public static readonly DependencyProperty SeverityProperty = DependencyProperty.Register(
nameof(Severity),
typeof(InfoBarSeverity),
typeof(InfoBar),
new PropertyMetadata(InfoBarSeverity.Informational));
///
/// Identifies the dependency property.
///
public static readonly DependencyProperty TemplateButtonCommandProperty = DependencyProperty.Register(
nameof(TemplateButtonCommand),
typeof(IRelayCommand),
typeof(InfoBar),
new PropertyMetadata(null));
///
/// Identifies the dependency property.
///
public static readonly DependencyProperty TitleProperty = DependencyProperty.Register(
nameof(Title),
typeof(string),
typeof(InfoBar),
new PropertyMetadata(string.Empty));
///
/// Initializes a new instance of the class.
///
public InfoBar()
{ SetValue(TemplateButtonCommandProperty, new RelayCommand