启动时完全隐藏WPF窗口?

rak*_*ete 26 .net wpf window

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

我怎么能意识到这一点?

谢谢!

Luk*_*keN 39

HB方法的替代方法是将其设置Visibility为隐藏并设置ShowInTaskbar为false.这仍然会创建窗口并让它做它的事情.

<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>
Run Code Online (Sandbox Code Playgroud)

  • 你确定你的说法?我目前正在尝试使用您的技巧,如果 Visibility 为“Hidden”,则似乎永远不会引发“MainWindow”的“Load”事件。 (3认同)
  • @EmrysMyrooin Load 事件在第一次看到窗口时被触发,因为它从未被看到,所以它永远不会被触发。如果您需要在构建窗口后执行某些内容,请尝试使用初始化事件。 (3认同)
  • 就我而言,我无法将可见性从“隐藏”切换到“可见”,因此我使用“ShowInTaskbar =“False””+“WindowState =“最小化””。然后我可以轻松地在代码中更改它们 (3认同)

H.B*_*.B. 27

不要显示窗口.默认情况下,有一个已StartupUri定义的App.xaml,删除它并覆盖OnStartup代码隐藏中的方法来创建一个窗口,只是ShowHide它一样.


Leo*_*ngs 15

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

将应用程序设置ShutDownMode="OnExplicitShutdown"为此可能会有所帮助,以防止在最后一个窗口关闭时应用程序关闭.

  • 根据他想要创建的应用程序,它可能会很有用,否则应用程序将在最后一个窗口如您所说的那样关闭后立即关闭。这将使他明确控制应用程序生命周期。但我会稍微编辑一下我的答案,以反映这并不是绝对必要的。 (3认同)
  • 我认为您实际上不需要将ShutDownMode设置为OnExplicitShutdown.我认为只有当他最终确实显示一个窗口并且然后关闭它时他不希望应用程序关闭时才需要这个 (2认同)