一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

全屏支持

 姬風(fēng) 2012-06-24

全屏支持

Silverlight
3(共 6)對本文的評價是有幫助 評價此主題

Silverlight 提供了在全屏模式下顯示基于 Silverlight 的應(yīng)用程序的功能。

本主題包括下列各節(jié)。

基于 Silverlight 的應(yīng)用程序可在嵌入模式或全屏模式下顯示:

  • 在“嵌入模式”下,該應(yīng)用程序顯示在 Web 瀏覽器中或?yàn)g覽器外應(yīng)用程序窗口中。

  • 在“全屏模式”下,該應(yīng)用程序?qū)雌聊坏漠?dāng)前分辨率調(diào)整大小。 默認(rèn)情況下,全屏應(yīng)用程序顯示在所有其他應(yīng)用程序之上。 不過,您可以配置這些應(yīng)用程序,使其在其他應(yīng)用程序處于活動狀態(tài)時仍保持在全屏模式中。

下圖演示了嵌入模式和全屏模式之間的差別。

嵌入模式下的基于 Silverlight 的應(yīng)用程序

嵌入式模式
全屏模式下的基于 Silverlight 的應(yīng)用程序

全屏模式

當(dāng)您將 IsFullScreen 屬性設(shè)置為 true 時,基于 Silverlight 的應(yīng)用程序即進(jìn)入全屏模式。 當(dāng)該應(yīng)用程序進(jìn)入全屏模式時,會短暫顯示下面的消息:“按 ESC 退出全屏模式”。 此消息提醒用戶應(yīng)用程序現(xiàn)在處于全屏模式,并提供有關(guān)如何返回到嵌入模式的信息。

全屏模式消息

按 ESC 退出全屏模式。

下面的代碼示例演示如何通過切換 IsFullScreen 屬性值來啟用和禁用全屏模式。

Page rootPage = new Page();
private void Application_Startup(object sender, StartupEventArgs e)
{
    this.RootVisual = rootPage;

    rootPage.LayoutRoot.MouseLeftButtonDown +=
        delegate(Object s, MouseButtonEventArgs args) {
            this.Host.Content.IsFullScreen =
                !this.Host.Content.IsFullScreen;
        };

    this.Host.Content.FullScreenChanged += 
        new EventHandler(DisplaySizeInformation);

    this.Host.Content.Resized += 
        new EventHandler(DisplaySizeInformation);
}

private void DisplaySizeInformation(Object sender, EventArgs e)
{
    String message = String.Format(
        "ActualWidth={0}, ActualHeight={1}",
        this.Host.Content.ActualWidth,
        this.Host.Content.ActualHeight);

    rootPage.LayoutRoot.Children.Clear();
    rootPage.LayoutRoot.Children.Add(
        new TextBlock { Text = message });
}


全屏模式的局限性

基于 Silverlight 的應(yīng)用程序僅在響應(yīng)用戶啟動的操作時才可以進(jìn)入全屏模式。 這意味著只能在用戶輸入事件處理程序中通過編程切換到全屏模式。 例如,如果嘗試在 Startup 事件處理程序中將 IsFullScreen 屬性設(shè)置為 true,將忽略該屬性設(shè)置。 通過限制啟用全屏模式的操作,可以確保用戶始終是全屏模式行為的啟動者。 這將防止惡意應(yīng)用程序偽造操作系統(tǒng)或其他程序的外觀。

注意 說明:

用戶啟動和其他要求不適用于受信任的應(yīng)用程序。 有關(guān)更多信息,請參見下一節(jié)。

默認(rèn)情況下,一次只能有一個應(yīng)用程序可處于全屏模式。 該應(yīng)用程序通常將在用戶切換到其他應(yīng)用程序時退出全屏模式。

若要配置基于 Silverlight 的應(yīng)用程序,使其無論是否活動均保持在全屏模式中,請將 FullScreenOptions 屬性設(shè)置為 StaysFullScreenWhenUnfocused。 這將支持用戶在與其他應(yīng)用程序交互時仍以全屏模式查看該應(yīng)用程序。 用戶還可以在全屏模式下顯示多個應(yīng)用程序。

當(dāng)某個應(yīng)用程序雖不活動但保持全屏模式時,用戶可以切換到其他應(yīng)用程序。 這包括最初的宿主瀏覽器或?yàn)g覽器外窗口,其中嵌入的 Silverlight 插件將顯示一個空區(qū)域,而該應(yīng)用程序仍處于全屏模式下。

多數(shù)情況下,切換回全屏應(yīng)用程序不會重新顯示全屏消息。 這意味著惡意應(yīng)用程序又有機(jī)會來偽裝其他應(yīng)用程序。 為幫助防止發(fā)生此情況,StaysFullScreenWhenUnfocused 設(shè)置會使應(yīng)用程序在進(jìn)入全屏模式之前顯示征求用戶同意的對話框。 如果用戶不同意,則應(yīng)用程序?qū)⑹褂媚J(rèn)的全屏行為。

征求用戶同意的對話框包含一個復(fù)選框,可供用戶保存自己的首選項(xiàng)。 用戶可以在 "Microsoft Silverlight 配置"對話框中修改自己的首選項(xiàng)。

當(dāng)基于 Silverlight 的應(yīng)用程序處于全屏模式下時,會禁止大多數(shù)鍵盤事件。 全屏模式期間此鍵盤輸入限制是一個安全功能,可用于將用戶輸入意外信息的可能性降至最低。 在全屏模式下,只允許通過以下鍵進(jìn)行輸入:

  • 向上鍵

  • 向下鍵

  • 向左鍵

  • 向右鍵

  • 空格鍵

  • Tab

  • 向上翻頁

  • 向下翻頁

  • Home

  • End

  • Enter

Silverlight 在全屏模式下不支持對話框。 除了征求用戶同意的對話框之外,還不支持 OpenFileDialog 和 SaveFileDialog 類。 在大多數(shù)情況下,在全屏模式下顯示某個對話框?qū)?dǎo)致應(yīng)用程序恢復(fù)嵌入模式。 但是,為了避免在某些瀏覽器上出現(xiàn)問題,您應(yīng)該在使用顯示對話框的某項(xiàng)功能之前退出全屏模式。

全屏模式下不支持拖放或多點(diǎn)觸控輸入。 如果您的應(yīng)用程序使用這些功能,您應(yīng)該在應(yīng)用程序進(jìn)入全屏模式時提供針對備選方式的用戶指導(dǎo)。

受信任的應(yīng)用程序的全屏模式

全屏消息、用戶啟動要求、鍵盤限制和對話框限制都不適用于受信任的應(yīng)用程序。 此外,在使用 StaysFullScreenWhenUnfocused 設(shè)置時,受信任的應(yīng)用程序不顯示征求用戶同意的對話框。

在受信任的應(yīng)用程序中,您可以在 Application.Startup 或 FrameworkElement.Loaded 事件處理程序中進(jìn)入全屏模式。 但是,您必須通過設(shè)置傳遞到 Dispatcher.BeginInvoke 方法的委托中的 IsFullScreen 屬性來執(zhí)行。

由于 ESC 鍵對受信任的應(yīng)用程序不具有內(nèi)置影響,您可以將該鍵用于自己的目的。 在這種情況下,您應(yīng)該執(zhí)行并記載一個備選方式,以便用戶能夠退出全屏模式。

有關(guān)更多信息,請參見 受信任的應(yīng)用程序。

全屏模式下應(yīng)用程序的大小

當(dāng)基于 Silverlight 的應(yīng)用程序處于全屏模式下時,該應(yīng)用程序的大小等于屏幕的當(dāng)前分辨率。 但是,在切換到全屏模式期間不影響該插件的 width 和 height 屬性的值。 若要確定全屏模式下該應(yīng)用程序的實(shí)際大小,請使用 Content.ActualWidth 和 Content.ActualHeight 屬性。 在全屏模式下,將這些屬性設(shè)置為屏幕的當(dāng)前分辨率。

處于全屏模式下的應(yīng)用程序在切換回嵌入模式時,該插件大小會還原為 width 和 height 屬性的值。

有關(guān) width 和 height 屬性的更多信息,請參見 HTML 對象元素的屬性值

模式更改期間的性能特征

在嵌入模式與全屏模式之間切換,對應(yīng)用程序內(nèi)所含內(nèi)容的性能所帶來的影響非常小。 這意味著,在大多數(shù)情況下音頻或視頻內(nèi)容的播放是完全連續(xù)的。

注意 說明:

為了獲得最佳性能,當(dāng)應(yīng)用程序進(jìn)入全屏模式后,請斷開在全屏模式下未呈現(xiàn)的所有對象與可視化樹的連接,或者隱藏這些對象。 可以通過將對象的 Visibility 屬性設(shè)置為Collapsed 來隱藏該對象。

全屏無窗口應(yīng)用程序

Windowless 屬性設(shè)置為 true 的 Silverlight 插件在全屏模式下顯示時,始終會以完全不透明的方式繪制其背景色。 但是,當(dāng)該應(yīng)用程序返回嵌入模式時,背景色會還原為其以前的不透明度值。

全屏模式下不支持無窗口 HTML 覆蓋效果。 但是,瀏覽器外應(yīng)用程序可以使用 WebBrowser 控件在全屏模式下顯示 HTML。

處于全屏模式的基于 Silverlight 的應(yīng)用程序可以采用多種方式返回嵌入模式。 離開全屏模式的最簡單方法是由用戶按 ESC 或使用以下?lián)翩I組合之一:

  • Windows 用戶可以按 Alt+F4。

  • Macintosh 用戶可以按 COMMAND+ESC。

此外,如果全屏模式下的應(yīng)用程序失去焦點(diǎn),除非 StaysFullScreenWhenUnfocused 設(shè)置仍然有效,否則該應(yīng)用程序?qū)⒎祷厍度肽J健?/span> 當(dāng)另一個應(yīng)用程序通過用戶操作獲取焦點(diǎn)后,處于全屏模式的應(yīng)用程序可能失去焦點(diǎn)。 例如,使用 Alt+Tab 鍵組合在 Windows 中的任務(wù)之間切換會使當(dāng)前應(yīng)用程序失去焦點(diǎn),并且使下一個應(yīng)用程序獲取焦點(diǎn)。

將 IsFullScreen 屬性設(shè)置為 False

當(dāng)您將 IsFullScreen 屬性設(shè)置為 false 時,基于 Silverlight 的應(yīng)用程序即退出全屏模式。 當(dāng)應(yīng)用程序切換回嵌入模式時,該應(yīng)用程序的大小會還原為插件 width 和 height 屬性的值。

每當(dāng) IsFullScreen 屬性更改時,就會發(fā)生 Content.FullScreenChanged 事件。 您可以處理此事件以便在全屏模式下更改您的用戶界面。

注意 說明:

當(dāng)應(yīng)用程序進(jìn)入全屏模式時,不會發(fā)生 Resized 事件。 但是,您通常在 Resized 和 FullScreenChanged 事件的處理程序中執(zhí)行相似的布局更改。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产精品欧美一区两区| 欧美成人精品一区二区久久| 国产精品久久女同磨豆腐| 91人人妻人人爽人人狠狠| 婷婷激情五月天丁香社区 | 人妻中文一区二区三区 | 粉嫩国产一区二区三区在线| 亚洲欧美日韩网友自拍| 亚洲第一视频少妇人妻系列| 一二区不卡不卡在线观看| 国产中文字幕一区二区| 久久精品一区二区少妇| 真实偷拍一区二区免费视频| 黄男女激情一区二区三区| 日本加勒比中文在线观看| 91日韩在线观看你懂的| 亚洲一区二区久久观看| 91日韩欧美在线视频| 色哟哟国产精品免费视频| 国产欧美日韩一级小黄片| 精品人妻一区二区三区免费看| 在线播放欧美精品一区| 后入美臀少妇一区二区| 国产一区欧美一区二区| 一级片二级片欧美日韩| 懂色一区二区三区四区| 国产一级二级三级观看| 日本熟女中文字幕一区| 99久久人妻精品免费一区| 一区二区三区日韩中文| 日韩性生活视频免费在线观看 | 日本本亚洲三级在线播放| 青青操视频在线观看国产| 亚洲一区二区精品久久av| 日本精品中文字幕在线视频| 黄色激情视频中文字幕| 亚洲欧美日韩国产自拍| 99久久免费看国产精品| 国产精品视频一区麻豆专区| 国产精品二区三区免费播放心 | 亚洲精品高清国产一线久久|