Для открытия окна входа перед загрузкой основного окна (MainWindow) с использованием фреймворка lepoco/wpfui необходимо выполнить следующие шаги:
1. В XAML-разметке окна MainWindow добавьте `ContentControl`, который будет содержать контент основного окна:
```xaml
<ContentControl x:Name="MainContentControl" />
```
2. В коде окна MainWindow добавьте функцию, которая будет отображать окно входа и вызываться при запуске программы:
```csharp
private void ShowLoginWindow()
{
var loginWindow = new LoginWindow();
// Установите владельца окна входа, чтобы окно MainWindow оставалось активным
loginWindow.Owner = this;
// Отобразите окно входа как модальное
if (loginWindow.ShowDialog() == true)
{
// Если пользователь успешно вошел, отобразите основное окно
var mainContent = new MainContent();
MainContentControl.Content = mainContent;
}
else
{
// Если пользователь отменил вход, можно закрыть программу
this.Close();
}
}
```
3. В методе `OnInitialized` окна MainWindow вызовите функцию `ShowLoginWindow`:
```csharp
protected override void OnInitialized(EventArgs e)
{
base.OnInitialized(e);
// Отобразите окно входа перед загрузкой MainWindow
ShowLoginWindow();
}
```
Теперь, при запуске программы, будет отображаться окно входа (Login Window) перед загрузкой основного окна (MainWindow), и только при успешном входе будет отображен контент основного окна.