minimize
我该如何Silverlight Out Of Browser
申请windows system tray
?是否可以?
4 回答
我喜欢这个问题!它指出了微软未能支持 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 应用程序,所以可以将其配置为留在系统托盘中。
让我知道这是否会引导您朝着正确的方向前进。
这是不可能的。Silverlight 没有可用的 API 来支持这一点。
是的,可以通过 Microsoft Native Extensions for Silverlight (NESL)。参考: http: //archive.msdn.microsoft.com/nesl
取自此 url:当前版本的 NESL 提供对 Windows 7 功能的访问,如传感器、便携式设备、语音、任务栏等。
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