0

谁能指出我正确的方向?当我的应用程序通过添加来自 am xml 的值(如果存在)并绕过 App.xaml 中的 StartupUri 来启动应用程序时,我需要一些方法来更改 Properties.Settings.Default,实际上创建了一个不同的窗口。如果该 xml 文件不存在,则从 App.xaml 运行 StartupUri(这将是一个登录窗口)。

有任何想法吗?

先谢谢了。

4

2 回答 2

3

万一有人还在寻找.. 从 app.xaml.cs 中的 OnStartup 方法查找 Properties.Settings.Default 中的属性值,使用该属性来确定用户是否想要登录:

应用程序.xaml.cs:

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        bool b = YourNamespace.Properties.Settings.Default.SettingUseLogin;

        if (b)
            this.StartupUri = new System.Uri("LoginWindow.xaml", System.UriKind.Relative);
        else
            this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);

    }
}
于 2013-10-04T20:13:49.883 回答
1

从您的 app.xaml 中删除 startupuri 并在您的 app.xaml.cs 中覆盖 OnStartup()

protected override void OnStartup(StartupEventArgs e)
{
    //todo settings
    var login = new LoginWindow();
    var result = login.ShowDialog()

    //do something with result

    this.MainWindow = new MyMainWindow();
    this.MainWindow.Show();
}

我不知道您对 Properties.Settings 真正想要什么...

于 2011-11-17T11:34:46.683 回答