日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

应用主题资源

發布時間:2024/10/12 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 应用主题资源 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主題概述


當用戶在手機的“設置”菜單中啟用系統范圍的主題時,僅應用程序中與主題相關的顏色會發生更改。字體和控件大小不會發生更改。例如,如果用戶在主題設置頁面上將強調色設置為紫色,則在應用程序中,只有使用相應資源畫筆配置的 UI 元素會更改為紫色。

注意:

如果在選擇其他主題時,您的應用程序處于休眠狀態,則在下次啟動主題之后,應用程序才會適應新主題。

下面的圖像顯示在本主題中創建的應用程序如何適應主題更改。

?

從左到右,此圖像顯示背景為“深”并且強調色為“紅”的應用程序。在“設置”頁上,選擇“主題”以打開“主題”頁。在“主題”頁上,將主題更改為“淺”背景和“mango”強調色。當再次啟動該應用程序時,它會反映新的主題設置。

應用主題資源

在此步驟中,創建該應用程序,設置該應用程序和頁面標題,并添加一個矩形和兩個 texBlock 控件。每個控件都演示一種使用主題資源的不同技術。

準備應用程序

  • 在 Visual Studio 中,通過選擇“文件” | “新建項目”菜單命令創建新的項目。

  • 將顯示“新建項目”窗口。展開“Visual C#”模板,然后選擇“Windows Phone”模板。

  • 選擇 Windows Phone 應用 模板。用您選擇的名稱填寫“名稱”框。

  • 單擊“確定”。將顯示 Windows Phone 平臺選擇對話框。

  • “Windows Phone 目標版本”菜單中,確保已選擇 Windows Phone OS 7.1。

  • 單擊“確定”。將創建一個新的項目,并且“MainPage.xaml”將在 Visual Studio 設計器窗口中打開。

  • MainPage.xaml 中,使用以下代碼替換名為 LayoutRoot 的網格。

    XAML 復制 <!--LayoutRoot is the root grid where all page content is placed--><Grid x:Name="LayoutRoot" Background="Transparent"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <!--TitlePanel contains the name of the application and page title--> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:Name="ApplicationTitle" Text="THEME RESOURCES" Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="example" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel> <!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> </Grid> </Grid>
  • 應用主題資源

  • MainPage.xaml 上,將以下代碼名添加在名為 ContentPanel 的 Grid 中。

    XAML 復制 <Rectangle Height="100" HorizontalAlignment="Left" Margin="12,33,0,0" Name="rectangle1" Stroke="{StaticResource PhoneForegroundBrush}" StrokeThickness="1" VerticalAlignment="Top" Width="200" Fill="{StaticResource PhoneAccentBrush}" />

    此代碼會在該頁面的左上角部分創建一個矩形。注意 Fill 屬性以及它如何使用 StaticResource 標記來指定名為 PhoneAccentBrush 的資源畫筆。此特殊畫筆允許矩形顏色響應系統范圍的主題更改。例如,如果用戶在手機設置菜單中修改強調色,則矩形將更改為該顏色。

  • MainPage.xaml 上,將以下代碼添加在名為 ContentPanel 的 Grid 內的矩形下。

    XAML 復制 <TextBlock Height="45" HorizontalAlignment="Left" Margin="20,154,0,0" Name="textBlock1" Text="background =" VerticalAlignment="Top" Width="400" FontFamily="{StaticResource PhoneFontFamilySemiLight}" FontSize="{StaticResource PhoneFontSizeLarge}"/>

    此代碼會創建一個 TextBlock 控件(名為 textBlock1),該控件位于矩形下方。已將 StaticResource 標記應用于 FontFamily 和 FontSize 屬性。已將 TextBlock 文本設置為字體 PhoneFontFamilySemiLight (Segoe WP SemiLight) 和字體大小 PhoneFontSizeLarge (32)。有關資源定義的更多信息,請參見 Windows Phone 主題資源。

  • MainPage.xaml 上,將以下代碼添加在名為 ContentPanel 的 Grid 內的 textBlock1 下。

    C# 復制 <TextBlock Height="35" HorizontalAlignment="Left" Margin="21,205,0,0" Name="textBlock2" Text="accent color = " VerticalAlignment="Top" Width="400" Style="{StaticResource PhoneTextAccentStyle}"/>

    此代碼會創建第二個 TextBlock(名為 textBlock2),并應用樣式資源 (PhoneTextAccentStyle)。此主題資源應用字體 (PhoneFontFamilySemiBold)、字體大小 (PhoneFontSizeNormal) 和前景 (PhoneAccentBrush)。當啟動系統范圍主題時,手機強調畫筆將導致 TextBlock 文本顏色發生更改。

  • 確定主題背景和強調色

    主題背景和強調色可用作當前應用程序資源。在本節中,PhoneDarkThemeVisibility 和 PhoneAccentColor 資源分別用于確定主題背景和強調色。

    注意:

    通過訪問本節演示的當前應用程序對象,基于 XNA Framework 的 Windows Phone 應用程序可以使用主題資源。有關可用主題資源的更多信息,請參見 Windows Phone 主題資源。

    確定主題背景

    • 在主頁的代碼隱藏文件 MainPage.xaml 中,在 MainPage 構造函數的 InitializeComponent 調用下添加以下代碼。

      C# VB 復制 // Determine the visibility of the dark background.Visibility darkBackgroundVisibility = (Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"];// Write the theme background value.if (darkBackgroundVisibility == Visibility.Visible){textBlock1.Text = "background = dark";}else { textBlock1.Text = "background = light"; }

      此代碼演示如何從應用程序資源設置中確定當前主題背景。它確定當前主題使用的背景類型并將其寫入到 textBlock1 的 Text 屬性。

    確定主題強調色

    • MainPage.xaml 中,在 MainPage 構造函數中剛剛添加的代碼下添加以下代碼。

      C# VB 復制 // Determine the accent color.Color currentAccentColorHex = (Color)Application.Current.Resources["PhoneAccentColor"];string currentAccentColor = "";switch (currentAccentColorHex.ToString()){case "#FF1BA1E2": currentAccentColor = "blue"; break; case "#FFA05000": currentAccentColor = "brown"; break; case "#FF339933": currentAccentColor = "green"; break; case "#FFE671B8": currentAccentColor = "pink"; break; case "#FFA200FF": currentAccentColor = "purple"; break; case "#FFE51400": currentAccentColor = "red"; break; case "#FF00ABA9": currentAccentColor = "teal (viridian)"; break; // Lime changed to #FFA2C139 in Windows Phone OS 7.1. case "#FF8CBF26": case "#FFA2C139": currentAccentColor = "lime"; break; // Magenta changed to # FFD80073 in Windows Phone OS 7.1. case "#FFFF0097": case "#FFD80073": currentAccentColor = "magenta"; break; // #FFF9609 (previously orange) is named mango in Windows Phone OS 7.1. case "#FFF09609": currentAccentColor = "mango (orange)"; break; // Mobile operator or hardware manufacturer color default: currentAccentColor = "custom eleventh color"; break; } // Write the current accent color. textBlock2.Text = "accent color = " + currentAccentColor;

      此代碼演示如何從應用程序主題資源中確定強調色。它確定強調色值,然后使用 switch/case 語句向 textBlock2 的 Text 屬性分配友好名稱。

    測試應用程序

    在本節中,應用程序在主題背景和強調色更改之前和之后運行。

    測試應用程序

  • 通過選擇“調試 | 啟動調試”菜單命令運行應用程序。這將打開模擬器窗口并啟動該應用程序。在屏幕上,應會看到 Rectangle 和兩個 TextBlock 控件。Rectangle 的顏色應該與當前系統主題相匹配,兩個文本塊應該應用不同的字體和字體大小。此外,請注意第二個 TextBlock 的文本顏色與當前系統主題相匹配,因為對前景應用了 PhoneAccentBrush。

  • 更改主題背景和強調色。在“開始”屏幕中,滑動至“應用程序”列表,然后點按“設置”。從“設置”屏幕中,點按“主題”,然后選擇其他背景和強調色。

  • 再次啟動該應用程序并查看它如何適應新的主題。下面的圖像演示本節中執行的步驟。

  • 轉載于:https://www.cnblogs.com/zgqys1980/p/4022604.html

    總結

    以上是生活随笔為你收集整理的应用主题资源的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。