У меня есть приложение, в котором при запуске моего MainWindow
мне нужно выполнить некоторые действия, связанные с объектом DateTime
. Иногда я могу прочитать DateTime
из некоторых данных, но в противном случае мне нужно запросить ввод данных пользователем.
Для последнего я разработал новый простой MyDatePicker
, содержащий элемент управления Calendar
.
Моя проблема заключается в том, что диалоговое окно MyDatePicker
отображается до появления MainWindow
, Естественно, это происходит, когда диалог отображается из конструктора MainWindow
. Я бы хотел, чтобы MainWindow
появлялся перед MyDatePicker
, однако MainWindow
должен блокироваться перед обработкой диалогового окна, поскольку для продолжения требуется объект DateTime
.
Ниже приведены конструкторы для MainWindow
и его контекста данных:
public MainWindow() {
InitializeComponent();
DataContext = new MyContext();
}
public MyContext() {
// some code which tries to parse a DateTime date from some data
if (date == null) {
MyDatePicker w = new MyDatePicker();
w.ShowDialog();
if (w.DialogResult == true)
myDate = w.DateChosen;
}
// do stuff with date here
}