我正在用C#开发一个WPF项目。
将在主窗口中创建一个SubWindow。此外,还会创建一个LogWindow。
如下所示,我隐藏了mainWindow和subWindow:
SubWindow subWindow = new SubWindow();
LoginWindow loginWindow;
void MainWindow()
{
InitializeComponent();
subWindow.Visibility = Visibility.Hidden;
this.Visibility = Visibility.Hidden;
loginWindow = new LoginWindow();
loginWindow.Show();
}这里有一个问题。
loginWindow可见,但会立即显示mainWindow和subWindow。我不想让他们出现,哪怕是很短的一段时间。
发布于 2020-06-25 09:06:40
删除App.xaml中的StartupUri行,然后使用重写OnStartup将代码移动到App.xaml.cs中
protected override void OnStartup(StartupEventArgs e)
{
MainWindow mainWindow = new MainWindow()
{
Visibility = Visibility.Hidden
};
SubWindow subWindow = new SubWindow()
{
Visibility = Visibility.Hidden
};
LoginWindow loginWindow = new LoginWindow();
loginWindow.Show();
base.OnStartup(e);
}发布于 2020-06-25 14:12:39
您的问题不在此代码中。我复制了这段代码并运行了解决方案。您描述的问题不会重现。仅显示LoginWindow,而不闪烁其他窗口。
如果可以,那么在一个简单的示例解决方案中重现问题。并将其放在GitHub上或归档中,以运行它并了解原因。
发布于 2020-06-26 17:16:56
尝试在XAML文件中将主窗口的可见性属性默认设置为隐藏。
Visibility="Hidden"这可能会解决您的问题,因为窗口永远不会出现在第一个位置。然后,只要需要,您就可以在您的代码中显示它。
https://stackoverflow.com/questions/62565958
复制相似问题