谁能指出我正确的方向?当我的应用程序通过添加来自 am xml 的值(如果存在)并绕过 App.xaml 中的 StartupUri 来启动应用程序时,我需要一些方法来更改 Properties.Settings.Default,实际上创建了一个不同的窗口。如果该 xml 文件不存在,则从 App.xaml 运行 StartupUri(这将是一个登录窗口)。
有任何想法吗?
先谢谢了。
万一有人还在寻找.. 从 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);
}
}
从您的 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 真正想要什么...