feat: re-organize file, add IsCloseButtonVisible option.

This commit is contained in:
rabbitism
2024-02-03 20:07:39 +08:00
parent 96ca0d9075
commit 39457f9724
9 changed files with 87 additions and 34 deletions

View File

@@ -68,6 +68,8 @@ public class DefaultDialogControl: DialogControl
private void SetButtonVisibility()
{
bool isCloseButtonVisible = DataContext is IDialogContext || Buttons != DialogButton.YesNo;
SetVisibility(_closeButton, isCloseButtonVisible);
switch (Buttons)
{
case DialogButton.None:
@@ -130,4 +132,25 @@ public class DefaultDialogControl: DialogControl
}
}
}
internal override void CloseDialog()
{
if (DataContext is IDialogContext context)
{
context.Close();
}
else
{
DialogResult result = Buttons switch
{
DialogButton.None => DialogResult.None,
DialogButton.OK => DialogResult.OK,
DialogButton.OKCancel => DialogResult.Cancel,
DialogButton.YesNo => DialogResult.No,
DialogButton.YesNoCancel => DialogResult.Cancel,
_ => DialogResult.None
};
OnDialogControlClosing(this, result);
}
}
}