[img]https:/ /i.sstatic.net/wjh2IQbY.png[/img]
и затем должно открыть главное окно для отображения выбранной конфигурации. Однако после выбора конфигурации главное окно не отображается.
Последовательность действий приложения должна быть следующей:
- Показать конфигурацию Диалоговое окно выбора
- Пользователь выбирает файл JSON
- Пользователь нажимает «ОК».
- Открывается главное окно с конфигурацией< /li>
Соответствующий код находится в этом конкретном коммите.
Ключевые части кода:
Код: Выделить всё
// App.xaml.cs
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
// Show config selection window first
var configWindow = new Views.ConfigSelectionWindow();
var result = configWindow.ShowDialog();
if (result == true)
{
var vm = (ViewModels.ConfigSelectionViewModel)configWindow.DataContext;
var configPath = vm.SelectedConfigPath;
if (!string.IsNullOrEmpty(configPath))
{
// Create and show main window with selected config
var mainWindow = new Views.MainWindow(configPath);
mainWindow.Show(); // Window doesn't show up after this line
}
// ...error handling
}
}
Среда:
- Visual Studio 2019 Professional
- .NET Framework 4.8
- Windows 10
P.S. Проблема была решена путем правильного управления режимом выключения приложения. Установка значения OnExplicitShutdown перед отображением диалогового окна конфигурации, а затем изменение значения OnMainWindowClose после создания главного окна предотвратило преждевременное завершение работы приложения. Кроме того, исправлена проблема с привязкой путем изменения привязок XAML на режим OneWay для свойств, доступных только для чтения.
Подробнее здесь: https://stackoverflow.com/questions/792 ... pplication
Мобильная версия