.net 启动时完全隐藏WPF窗口?

.net 启动时完全隐藏WPF窗口?,.net,wpf,window,.net,Wpf,Window,我希望我的窗口在启动时完全隐藏。没有窗口,任务栏中没有条目。用户看不到,应用程序已启动 我怎么能意识到这一点 谢谢大家! 不要显示窗口。默认情况下,App.xaml中定义了一个,将其删除并覆盖代码隐藏中的OnStartup方法以创建一个窗口,只需按您的意愿进行操作。只需不创建窗口,只需从App.xaml中删除StartupUri 将应用程序设置为ShutDownMode=“OnExplicitShutdown”可能会有所帮助,这样可以防止在上一个窗口关闭时应用程序关闭。H.B.方法的另一种选择是

我希望我的窗口在启动时完全隐藏。没有窗口,任务栏中没有条目。用户看不到,应用程序已启动

我怎么能意识到这一点


谢谢大家!

不要显示窗口。默认情况下,
App.xaml
中定义了一个,将其删除并覆盖代码隐藏中的
OnStartup
方法以创建一个窗口,只需按您的意愿进行操作。

只需不创建窗口,只需从App.xaml中删除
StartupUri


将应用程序设置为
ShutDownMode=“OnExplicitShutdown”
可能会有所帮助,这样可以防止在上一个窗口关闭时应用程序关闭。

H.B.方法的另一种选择是将
可见性设置为隐藏,并将
显示工具栏设置为假。这仍然会创建窗口并让它完成自己的任务

<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525" ShowInTaskbar="False" Visibility="Hidden">
    <Grid>

    </Grid>
</Window>

我的要求: 启动进程以显示窗口,并将其嵌入wpf控件中。必须正常加载窗口,触发初始化/加载事件,然后作为控制中的子窗口运行

我的解决方案:
将窗口宽度和高度设置为1,加载后,将其调整为正常大小。窗口将在短时间内显示,几乎为1秒。用户不会注意到它。

他以后能打开窗口吗?出于兴趣,这实际上解决了什么问题?您可能需要考虑使用操作系统互斥来防止应用程序的多个实例启动。用户可能会认为,如果没有打开任何东西,他们可能会误点击…@LukeN:一个有效的用例是将GUI应用程序用作命令行程序(在这种情况下,您希望它在后台执行命令而不弹出,然后退出)。有时,仅仅为了很少使用命令行支持而制作两个版本的应用程序是不可行的。@LukeN静默打印实现将是另一个用例。我认为实际上不需要将ShutDownMode设置为OnExplicitShutdown。我认为,只有当他不想在最后显示窗口时关闭应用程序,然后根据他想要创建的应用程序关闭应用程序时,才需要这样做。这可能有用,否则,应用程序将在最后一个窗口关闭后立即关闭,如你所说。这将使他能够明确控制应用程序的生命周期。但我会对我的答案稍加修改,以反映这并非绝对必要。你确定你的说法吗?我目前正在尝试使用您的技巧,如果在第一次看到窗口时触发可见性为隐藏的@EmrysMyrooin加载事件,则
MainWindow
Load
事件似乎永远不会被触发,因为它从未被看到,所以永远不会被触发。如果在构建窗口后需要执行某些操作,请尝试使用初始化事件。这对我不起作用。更容易使用@H.B.的答案。IE如果我不想创建和显示窗口,就不创建和显示窗口。在我的情况下,我无法将可见性从
隐藏的
切换到
可见的
,因此我使用
ShowInTaskbar=“False”
+
WindowState=“最小化”
。然后我可以很容易地在代码中更改它们