You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

126 lines
3.8 KiB

using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using SparkClient.Model.Helper;
namespace SparkClient.Views.Dialog;
public partial class MessageBox : Window
{
public MessageBox()
{
InitializeComponent();
WindowStartupLocation = WindowStartupLocation.CenterScreen;
}
private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (e.ButtonState == MouseButtonState.Pressed)
{
this.DragMove();
}
}
private int _showType = -1;
private bool _result = false;
public void Show(String message, String btnStr = "")
{
BorderInput.Visibility = Visibility.Hidden;
Grid.SetRow(GridButtons, 2);
CancelButton.Visibility = Visibility.Hidden;
Grid.SetColumn(ConfirmButton, 2);
TextBlockCenterBox.Text = message;
System.Media.SystemSounds.Asterisk.Play();
_showType = 0;
this.Height = 200;
if (!string.IsNullOrWhiteSpace(btnStr))
{
ConfirmButtonText.Text = btnStr;
}
else
{
ConfirmButtonText.Text = MultilingualHelper.getString("DialogConfirmDefaultTitle");
}
this.ShowDialog();
}
public MessageBoxResult ShowAsk(String message, String confirmButtonTitle = "", String cancelButtonTitle ="")
{
BorderInput.Visibility = Visibility.Hidden;
Grid.SetRow(GridButtons, 2);
_showType = 1;
this.Height = 250;
System.Media.SystemSounds.Asterisk.Play();
TextBlockCenterBox.Text = message;
if (!string.IsNullOrWhiteSpace(confirmButtonTitle) && !string.IsNullOrWhiteSpace(cancelButtonTitle))
{
ConfirmButtonText.Text = confirmButtonTitle;
CancelButtonText.Text = cancelButtonTitle;
}
else
{
ConfirmButtonText.Text = MultilingualHelper.getString("DialogConfirmDefaultTitle");
CancelButtonText.Text = MultilingualHelper.getString("DialogCancelDefaultTitle");
}
this.ShowDialog();
return _result==true ? MessageBoxResult.OK : MessageBoxResult.Cancel;
}
//
public MessageBoxResult ShowInput(String message, out String inputStr , String confirmButtonTitle = "", String cancelButtonTitle ="")
{
_showType = 2;
this.Height = 300;
TextBlockCenterBox.Text = message;
if (!string.IsNullOrWhiteSpace(confirmButtonTitle) && !string.IsNullOrWhiteSpace(cancelButtonTitle))
{
ConfirmButtonText.Text = confirmButtonTitle;
CancelButtonText.Text = cancelButtonTitle;
}
else
{
ConfirmButtonText.Text = MultilingualHelper.getString("DialogConfirmDefaultTitle");
CancelButtonText.Text = MultilingualHelper.getString("DialogCancelDefaultTitle");
}
this.ShowDialog();
inputStr = TextBoxInput.Text;
return _result==true ? MessageBoxResult.OK : MessageBoxResult.Cancel;
}
private void CloseButton_OnClick(object sender, RoutedEventArgs e)
{
this.Close();
}
private void ConfirmButton_OnClick(object sender, RoutedEventArgs e)
{
if (_showType == 0)
{
this.Close();
}else if (_showType == 1)
{
_result = true;
this.Close();
}else if (_showType == 2)
{
if (string.IsNullOrWhiteSpace(TextBoxInput.Text))
{
BorderInput.BorderBrush = Brushes.Red;
return;
}
else
{
_result = true;
this.Close();
}
}
}
private void CancelButton_OnClick(object sender, RoutedEventArgs e)
{
this.Close();
}
}