Initial clean upload
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
using System.Windows;
|
||||
|
||||
namespace QoSManager.Views
|
||||
{
|
||||
public partial class CustomMessageBox : Window
|
||||
{
|
||||
public MessageBoxResult Result { get; private set; }
|
||||
|
||||
public CustomMessageBox()
|
||||
{
|
||||
InitializeComponent();
|
||||
DataContext = this;
|
||||
}
|
||||
|
||||
public string Message
|
||||
{
|
||||
get { return (string)GetValue(MessageProperty); }
|
||||
set { SetValue(MessageProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty MessageProperty =
|
||||
DependencyProperty.Register("Message", typeof(string), typeof(CustomMessageBox), new PropertyMetadata(""));
|
||||
|
||||
public static MessageBoxResult Show(string message, string title = "QoS Manager", MessageBoxButton buttons = MessageBoxButton.OK, MessageBoxImage icon = MessageBoxImage.None)
|
||||
{
|
||||
var messageBox = new CustomMessageBox
|
||||
{
|
||||
Title = title,
|
||||
Message = message
|
||||
};
|
||||
|
||||
// Сначала скрыть все кнопки
|
||||
messageBox.OKButton.Visibility = Visibility.Collapsed;
|
||||
messageBox.CancelButton.Visibility = Visibility.Collapsed;
|
||||
messageBox.YesButton.Visibility = Visibility.Collapsed;
|
||||
messageBox.NoButton.Visibility = Visibility.Collapsed;
|
||||
|
||||
// Настройка кнопок в зависимости от типа
|
||||
switch (buttons)
|
||||
{
|
||||
case MessageBoxButton.OK:
|
||||
messageBox.OKButton.Visibility = Visibility.Visible;
|
||||
break;
|
||||
case MessageBoxButton.OKCancel:
|
||||
messageBox.OKButton.Visibility = Visibility.Visible;
|
||||
messageBox.CancelButton.Visibility = Visibility.Visible;
|
||||
break;
|
||||
case MessageBoxButton.YesNo:
|
||||
messageBox.YesButton.Visibility = Visibility.Visible;
|
||||
messageBox.NoButton.Visibility = Visibility.Visible;
|
||||
break;
|
||||
case MessageBoxButton.YesNoCancel:
|
||||
messageBox.YesButton.Visibility = Visibility.Visible;
|
||||
messageBox.NoButton.Visibility = Visibility.Visible;
|
||||
messageBox.CancelButton.Visibility = Visibility.Visible;
|
||||
break;
|
||||
}
|
||||
|
||||
messageBox.ShowDialog();
|
||||
return messageBox.Result;
|
||||
}
|
||||
|
||||
private void OKButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Result = MessageBoxResult.OK;
|
||||
Close();
|
||||
}
|
||||
|
||||
private void CancelButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Result = MessageBoxResult.Cancel;
|
||||
Close();
|
||||
}
|
||||
|
||||
private void YesButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Result = MessageBoxResult.Yes;
|
||||
Close();
|
||||
}
|
||||
|
||||
private void NoButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Result = MessageBoxResult.No;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user