Я не хочу просто использовать MessageBox внутри методов, потому что иногда (из-за довольно больших сообщений) читабельность кода ухудшается, я бы хотел вынести свои MessageBox в какое нибудь отдельное место и доставать нужный мне MessageBox, когда мне он понадобится. Как это правильнее сделать? Все до чего я додумался - это создать статичный класс со статичными методами. Вот пример:
public static class NoticeService {
public static void EmptyEmployeeCodeError() {
MessageBox.Show("Empty code", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
public static void InvalidEmployeeCodeError() {
MessageBox.Show("Invalid code", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
public static MessageBoxResult DeleteApplicationDialog() {
return MessageBox.Show("Are you sure you want to delete this application", "Dialog",
MessageBoxButton.YesNo, MessageBoxImage.Question);
}
public static MessageBoxResult LogoutEmployeeDialog() {
return MessageBox.Show("Are you sure you want to log out", "Dialog", MessageBoxButton.YesNo,
MessageBoxImage.Question);
}
}
Но мне кажется, что это не очень хорошее решение. Как мне переделать это?
private bool IsInputEmpty => string.IsNullOrWhiteSpace(Input.Text);То есть я хочу сделать код более лаконичным. И вопрос в том, как лучше это сделать, с помощью статического класса или чего-нибудь другого. – ChineseCheese Mar 26 '23 at 19:49var askCloseVM = new AskVM("Do you want to close the application?");, вот и будет ваш диалог, с нужным текстом и результатом. Ну а статика - зло, советую забыть про нее. – EvgeniyZ Mar 26 '23 at 20:01MessageBox- неудобная штука, его непросто позиционировать, я настрадался во времена винформ. Для отладки норм, а вот как штатное средство, часть UI приложения - корявый инструмент. Напишите своё окно, но или вообще панелью прямо в текущем окне показывайте. – aepot Mar 26 '23 at 22:51