По умолчанию, тип «App» автоматически сгенерирован в новых приложениях WPF (на основе применения) устанавливается как объект запуска (см свойства Application). Вы можете ...
a) замените этот объект на свой собственный тип, который создает приложение и вызывает приложение App.run() после предоставления учетных данных. Обязательно объявите свой метод ввода с помощью [STAThread].
[STAThread]
public static int Main()
{
MyOperations();
var app = new App();
app.Run();
}
б) Override OnStartup в App.xaml.cs:
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
MyOperations();
}
EDIT: Я, возможно, пропустил точку. Если вы хотите показать другое окно WPF перед отображением основного, вы можете использовать опцию b), но вам, возможно, придется модифицировать Application.Current.ShutdownMode перед показом вашей маски входа, иначе программа завершится после ее закрытия.
Таким образом, это будет содержимое существующего файла App.xaml.cs (его скрытый в проводнике решений, вам нужно развернуть App.xaml, чтобы увидеть его).
using System.Windows;
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
ShutdownMode = ShutdownMode.OnExplicitShutdown;
var loginWindow = new Login();
loginWindow.ShowDialog();
if (!loginWindow.LoggedIn)
{
Shutdown();
return;
}
ShutdownMode = ShutdownMode.OnLastWindowClose;
}
}
}
@Basvo Я попытался изменить StartupUri и создать целую новую страницу .... Но это как вызов новой страницы и получение значения. Я хочу открыть диалог и получить значение от пользователя – user5928466
Возможно, вы сможете разместить свой код? – Basvo
@Basvo У меня нет кода сразу. Если у вас есть что-то полезное, сообщите об этом. – user5928466