gpt4 book ai didi

wpf - 首先打开新窗口

转载 作者:行者123 更新时间:2023-12-04 03:46:18 24 4
gpt4 key购买 nike

如何才能做到这一点

登录窗口首先出现,如果一切正常,请关闭登录窗口并打开第二个主窗口。
在胜利形式中,我们修改program.cs,但在wpf中没有program.cs。

有解决方案吗?

实际上,我在默认情况下创建的窗口中完成了大部分工作,现在想使其成为辅助窗口(意思是它应该出现,然后在想要将控制权交给新窗口时关闭)

   <Application x:Class="DevnMark_V1._0.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Startup="Application_Startup">

<Application.Resources>

</Application.Resources>
</Application>



public partial class App : Application
{
private void Application_Startup(object sender, StartupEventArgs e)
{
var login = new MainWindow();
login.ShowDialog();
if (myAppSett.Default.validated == true)
{
var mainWindow = new DevNMarkMainWindow();
mainWindow.ShowDialog();
}
}

登录窗口启动XML
<Window x:Class="DevnMark_V1._0.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:local="clr-namespace:Progress"
Title="MainWindow" Height="292" Width="563" WindowStyle="None" BorderBrush="#FF0A6277" AllowsTransparency="True" WindowStartupLocation="CenterScreen" Topmost="True">

当我关闭登录窗口时发生异常,并且在要初始化时查看第二个窗口的点 InitializeComponent();时发生

最佳答案

可能没有program.cs,但是默认的WPF程序模板中有一个App.xaml.cs,您可以在那做同样的事情。

您想要做的是从App.xaml中删除 StartupUri="LoginWindow.xaml",然后修改App.xaml.cs的构造函数以调用您的登录窗口和主窗口,如下所示:

public App() : base() {
bool authenticated = false;
LoginWindow login;
while (!authenticated)
{
login = new LoginWindow();
login.ShowDialog();
authenticated = ValidUser(login.username, login.password);
}

MainWindow main = new MainWindow(login.username);
main.ShowDialog();
}

上面的示例假定您已将 usernamepassword作为公用属性添加到LoginWindow,并且已修改MainWindow的构造函数以使用参数。

关于wpf - 首先打开新窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5053794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com