5

minimize我该如何Silverlight Out Of Browser申请windows system tray?是否可以?

4

4 回答 4

3

我喜欢这个问题!它指出了微软未能支持 OOB 应用程序的另一个明显要求。遗憾的是,作为现有 Silverlight API 的一部分并没有直接支持这一点。但话虽如此,我们可以“探索”实现这一目标......(以下提示可能/可能不起作用,因为我自己尚未测试它们,因为我的机器上目前缺乏 Visual Studio 环境!)

在 silverlight OOB 应用程序中,Application 类公开了一个“Install”方法,当我们选择安装 OOB 应用程序时执行该方法。

在此方法中,您可以尝试安装(使用提升的权限)自定义 ActiveX 控件(Windows 应用程序),例如 MySilverlightHost。这个应用程序不过是一个 Windows 窗体,其中有一个 silverlight 主机。

是的!你没听错。这个人 (http://firstfloorsoftware.com/blog/hosting-silverlight-outside-the-browser/) 已经实现了一个基于自定义 Windows 窗体的 silverlight 主机。

现在安装 OOB 后,部署到系统的 XAP 文件将成为 ActiveX 应用程序的源,并将其内容托管在其 Silverlight 主机控件中。并且因为它是一个 Windows 应用程序,所以可以将其配置为留在系统托盘中。

让我知道这是否会引导您朝着正确的方向前进。

于 2011-07-31T10:19:55.287 回答
1

这是不可能的。Silverlight 没有可用的 API 来支持这一点。

于 2011-07-31T07:44:17.947 回答
0

是的,可以通过 Microsoft Native Extensions for Silverlight (NESL)。参考: http: //archive.msdn.microsoft.com/nesl

取自此 url:当前版本的 NESL 提供对 Windows 7 功能的访问,如传感器、便携式设备、语音、任务栏等。

于 2012-08-22T15:58:18.473 回答
0
Private Sub FullScr(sender As Object, e As MouseEventArgs)
    Application.Current.Host.Content.IsFullScreen = True
End Sub

Private Sub Nrml(sender As Object, e As MouseEventArgs)
    Application.Current.Host.Content.IsFullScreen = False
End Sub

Private Sub Min(sender As Object, e As MouseEventArgs)
    Application.Current.MainWindow.WindowState = WindowState.Minimized
End Sub
于 2013-07-20T16:50:21.430 回答