namespace Ursa.Controls;
public enum HorizontalPosition
{
Left,
Center,
Right
}
public enum VerticalPosition
{
Top,
Center,
Bottom
}
public class OverlayDialogOptions
{
internal static OverlayDialogOptions Default { get; } = new();
public bool FullScreen { get; set; }
public HorizontalPosition HorizontalAnchor { get; set; } = HorizontalPosition.Center;
public VerticalPosition VerticalAnchor { get; set; } = VerticalPosition.Center;
///
/// This attribute is only used when HorizontalAnchor is not Center
///
public double? HorizontalOffset { get; set; } = null;
///
/// This attribute is only used when VerticalAnchor is not Center
///
public double? VerticalOffset { get; set; } = null;
///
/// Only works for DefaultDialogControl
///
public DialogMode Mode { get; set; } = DialogMode.None;
///
/// Only works for DefaultDialogControl
///
public DialogButton Buttons { get; set; } = DialogButton.OKCancel;
///
/// Only works for DefaultDialogControl
///
public string? Title { get; set; } = null;
///
/// Only works for CustomDialogControl
///
public bool? IsCloseButtonVisible { get; set; } = true;
[Obsolete] public bool ShowCloseButton { get; set; } = true;
public bool CanLightDismiss { get; set; }
public bool CanDragMove { get; set; } = true;
///
/// The hash code of the top level dialog host. This is used to identify the dialog host if there are multiple dialog
/// hosts with the same id. If this is not provided, the dialog will be added to the first dialog host with the same
/// id.
///
public int? TopLevelHashCode { get; set; }
public bool CanResize { get; set; }
}