【问题标题】:Minimize WPF XBAP To Tray : Can it be done?将 WPF XBAP 最小化到托盘:可以做到吗?
【发布时间】:2011-03-25 08:19:55
【问题描述】:

我现在已经看到了一些托盘定位应用的实现。尽管有开发自己的东西的冲动,但我想我想试一试:http://www.codeproject.com/KB/WPF/wpf_notifyicon.aspx

无论如何,我真的很想知道是否可以从 XBAP 应用程序中获取和控制窗口状态。我认为可能不是,因为它们在 PresentationHost 中运行,但我不太确定。

我想做的:当浏览器关闭/最小化时,显示一个托盘图标。常见的托盘行为,但适用于 XBAP。

另请注意,XBAP 正在运行提升到完全信任(它是一个仅供内部使用的应用程序),也许这会改变一些事情。

以前有人试过吗?

干杯,

塞比

【问题讨论】:

  • 顺便说一句,我认为你不会有太多成功,如果有的话。
  • ...这会符合我的期望,但你永远不知道,嗯?

标签: c# wpf xbap trayicon


【解决方案1】:

如果您的 XBAP 以完全信任的方式运行,那么您当然可以将项目添加到通知区域。如果浏览器关闭,则通知图标似乎已被删除。

您可能需要创建一个隐藏窗口来接收消息,否则您只需使用与常规 WPF 应用程序相同的技术。

但是,听起来你最好使用Clickonce application

【讨论】:

  • 您好,codenaked,您所说的“接收消息”是什么意思?我面临的主要问题是我的页面类无法访问 WindowState,您与此有关吗?无论如何,与简单地启动位于托盘的第二个应用程序相比,将 xbap 最大化到托盘的好处似乎微乎其微……我想我会坚持我的最后手段计划。谢谢!
  • @Sebastian - 为了处理通知托盘中图标的事件,您需要一个窗口。因此,如果您想在用户右键单击托盘图标时显示上下文菜单,或者在用户双击托盘图标时执行某些操作等。我不确定“最大化 xbap 到托盘”是什么意思。托盘中的图标通常在最小化应用程序时使用,而不是最大化。无论如何,您将无法最大化或最小化(或检测何时发生)Web 浏览器(正在运行您的 xbap)。但是您可以创建一个辅助窗口,您可以对其执行这些操作。
  • 作为最后的评论:我刚刚读到,在您可以在 XBAP 中做的几件事中,没有机会打开一个独立的窗口(这会使应用程序脱离它的安全框)。
猜你喜欢
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
  • 2013-04-14
  • 1970-01-01
  • 2011-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多