【问题标题】:How can I create an application in WPF that runs in background如何在 WPF 中创建在后台运行的应用程序
【发布时间】:2011-09-28 22:23:16
【问题描述】:

我的目标是将我的应用程序放在托盘栏中,但我不知道如何为 WPF 应用程序执行此操作! (对于 winform,有很多文档,但我没有找到任何关于 Wpf 的内容)

谢谢

【问题讨论】:

标签: c# wpf


【解决方案1】:

您可以使用this library 作为托盘图标,如果没有任何窗口,您应该删除默认情况下可能在 App 类中定义的任何StartupUri。然后您可以覆盖OnStartup 以准备您的应用程序应执行的任何逻辑。

不确定是否可以将此库的TaskbarIcon 直接分配给应用程序,因为它通常在 Windows 上使用。但是您可以创建一个虚拟弹出窗口以使其显示出来。

public TaskbarIcon MyTaskbarIcon { get; set; }

protected override void OnStartup(StartupEventArgs e)
{
    base.OnStartup(e);
    Popup pu = new Popup();
    pu.Child = MyTaskbarIcon;
    //...
}

如果你有窗口,你可以在那里创建一个TaskbarIcon,然后如果你需要它完全消失,你可以调用Hide()

【讨论】:

    【解决方案2】:

    经过测试,我推荐http://possemeeg.wordpress.com/2007/09/06/minimize-to-tray-icon-in-wpf/

    但请确保您的图标是 Visual Studio 属性中的“嵌入式资源”而不是“资源”。

    【讨论】:

    • 欢迎来到 SO!如果这是您的答案,您可能需要单击左侧的复选标记以将其标记为完成:)
    • 谢谢 :)(我还要等 7 个小时才能验证我自己的答案^^)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    相关资源
    最近更新 更多