На данный вопрос уже ответили:
Хочу сделать свой MessageBox, с интерфейсом и оформлением. Особо интересует возвращаемое значение - как сделать что бы при выборе ДА или НЕТ выполнялось определенное действие как :
if (MessageBoxResult.Yes == MessageBox.Show("Do you want to open Report?", "Report", MessageBoxButton.YesNo))
Как организовать класс BOX который заменял бы стандартный MessageBox? Я пытаюсь сделать это с помощью partial class ShowWind : Window и класса BOX. Класс BOX создает новый экземпляр ShowWind :
internal static MessageBoxResult ShowQuestion(string mess, string header)
{
ShowWind window = new ShowWind(mess, header);
window.Show();
MessageBoxResult result = window.result;
return result;
}
Если нужно просто вывести какое то сообщение - все нормально а если диалог, где есть выбор ДА или НЕТ то MessageBoxResult не возвращается. Как должно быть правильно ?
У System.Windows.Window есть свойство DialogResult. Вызываете свою форму через ShowDialog() а в самой форме присваиваете данному свойству true или false, в зависимости от нажатых кнопок формы. Если нужен возврат каких либо значений у формы делаете публичное поле, которое можно записать и которое можно прочитать.
public partial class DialogWnd : Window
{
public DialogWnd()
{
InitializeComponent();
}
public string Message { get; set; }
private void bOk_Click(object sender, RoutedEventArgs e)
{
Message = "OK!!!";
DialogResult = true;
}
private void bCancel_Click(object sender, RoutedEventArgs e)
{
Message = "Not OK :(";
DialogResult = false;
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости