2016-11-10 3 views
1

Приложение, в котором мне нужно получить идентификатор электронной почты и пароль перед запуском приложения. Мне нужно получить эту информацию для обработки, приложение построено с использованием XAML/C#? Как я могу достичь этого с помощью настраиваемого диалогового окна?Добавить диалоговое окно при запуске приложения в C#/Xaml

спасибо

+0

@Basvo Я попытался изменить StartupUri и создать целую новую страницу .... Но это как вызов новой страницы и получение значения. Я хочу открыть диалог и получить значение от пользователя – user5928466

+0

Возможно, вы сможете разместить свой код? – Basvo

+0

@Basvo У меня нет кода сразу. Если у вас есть что-то полезное, сообщите об этом. – user5928466

ответ

0

По умолчанию, тип «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; 
     } 
    } 
} 
+0

вы можете поделиться файлом демонстрации, чтобы я мог понять. – user5928466

+0

Я не уверен, понимаю ли я вас ... ;-) Я обновил сообщение, чтобы уточнить, что для этого отредактируйте App.xaml.cs. – Udontknow

Смежные вопросы