2016-11-10 46 views
1

一个应用程序,我需要在启动应用程序之前获取电子邮件ID和密码。我需要获取这些信息进行处理,应用程序是使用XAML/C#构建的吗?我如何使用自定义对话框来实现这一点?在应用程序启动时添加一个对话框在C#/ Xaml

谢谢

+0

@Basvo我试图改变StartupUri&创建一个全新的页面....但这就像调用一个新的页面,并获得一个值。我想要打开对话框并从用户处获得价值 – user5928466

+0

也许您可以发布您的代码? – Basvo

+0

@Basvo我没有代码马上。如果您对此有帮助,请发布。 – user5928466

回答

0

默认情况下,在新的WPF应用程序自动生成的类型“应用程序”(从应用程序导出)设置为启动对象(请参阅应用程序属性)。你可以...

a)用你自己的实例化App的类型替换这个对象,并在证书提供后调用App.run()。一定要用[STAThread]声明你的输入方法。

[STAThread]  
    public static int Main() 
    { 
    MyOperations(); 
    var app = new App(); 
    app.Run(); 
    } 

二)App.xaml.cs覆盖OnStartup:

protected override void OnStartup(StartupEventArgs e) 
    { 
    base.OnStartup(e); 
    MyOperations(); 
    } 

编辑:我可能已经错过了点。如果您的目标是在显示主窗口之前显示另一个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

相关问题