Windows Phone 三、样式和资源

定义样式和引用资源

 1     <Page.Resources>
 2         <!-- 向资源字典中添加一个键为ButtonBackground值为SolidColorBrush对象 -->
 3         <SolidColorBrush
 4             x:Key="ButtonBackground"
 5             Color="Aqua"/>
 6         <!-- 向资源字典中添加一个键为ButtonForeground值为SolidColorBrush对象 -->
 7         <SolidColorBrush
 8             x:Key="ButtonForeground"
 9             Color="Black"/>
10         <!-- 向资源字典中添加一个键为ButtonFontSize值为x:Double对象 -->
11         <x:Double x:Key="ButtonFontSize">20</x:Double>
12     </Page.Resources>
13     <Grid>
14         <!--根据资源名称,引用资源-->
15         <Button
16             Content="Button"
17             Background="{StaticResource ButtonBackground}"
18             Foreground="{StaticResource ButtonForeground}"
19             FontSize="{StaticResource ButtonFontSize}"/>
20     </Grid>

资源字典中可以添加各种各样类型的资源,这取决于资源对象的类型,不同对象的类型,对应不同类型的资源标签。

颜色对应SolidColorBrush  数值对应x:Double

类型选择器

 1     <Page.Resources>
 2         <!--类型选择器-->
 3         <!--Style节点可以不用指定一个具体的键,有一个默认的键(typeof(Button))-->
 4         <Style TargetType="Button">
 5             <!--默认样式-->
 6             <Setter Property="Width" Value="200"/>
 7             <Setter Property="Background" Value="HotPink"/>
 8         </Style>
 9         <Style x:Key="ButtonStyle" TargetType="Button">
10             <!--ButtonStyle样式-->
11             <Setter Property="Width" Value="300"/>
12             <!--在Value无法赋值的情况下,可以使用以下写法-->
13             <Setter Property="Background">
14                 <Setter.Value>
15                     <SolidColorBrush Color="Aqua"/>
16                 </Setter.Value>
17             </Setter>
18         </Style>
19         <!--演示x:Name也可以-->
20         <Style x:Name="ButtonName" TargetType="Button"/>
21     </Page.Resources>
22     <StackPanel>
23         <!--Button的Style默认指向的键为this.GetType()/typeof(Button)默认样式-->
24         <Button Content="Button1"/>
25         <!--指定ButtonStyle样式-->
26         <Button
27             Content="Button2"
28             Style="{StaticResource ButtonStyle}"/>
29     </StackPanel>

外部资源引用

1 <ResourceDictionary
2     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
4     <SolidColorBrush x:Key="ButtonBackground" Color="DarkOrchid"/>
5 </ResourceDictionary>

Styles.xaml

Styles.xaml 被创建在Resources文件夹当中

主程序资源

 1 <Application
 2     x:Class="MyApp.App"
 3     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 4     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 5     xmlns:local="using:MyApp">
 6     <!--Application.Resources全局共享-->
 7     <Application.Resources>
 8         <SolidColorBrush x:Key="ButtonBackground" Color="Navy"/>
 9     </Application.Resources>
10 </Application>

外部引用代码

 1 <Page
 2     x:Class="MyApp.MainPage"
 3     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 4     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 5     xmlns:local="using:MyApp"
 6     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 7     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 8     mc:Ignorable="d"
 9     Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
10     <!--Page.Resources整个页面共享-->
11     <Page.Resources>
12         <ResourceDictionary Source="Resources/Styles.xaml"/>
13     </Page.Resources>
14     <Grid>
15         <!--局部共享-->
16         <Grid.Resources>
17             <!--ResourceDictionary标签可省略-->
18             <ResourceDictionary>
19                 <!--就近原则-->
20                 <SolidColorBrush x:Key="ButtonBackground" Color="HotPink"/>
21             </ResourceDictionary>
22         </Grid.Resources>
23         <Button Content="Button"
24                 Background="{StaticResource ButtonBackground}"/>
25     </Grid>
26 </Page>

不同主题定义不同资源

 1     <Page.Resources>
 2         <!--为不同主题定义不同资源必须写ResourceDictionary标签-->
 3         <ResourceDictionary>
 4             <!--也是一个资源字典-->
 5             <ResourceDictionary.ThemeDictionaries>
 6                 <!--Default是固定值,默认缺省状态,很少使用,一般使用下面三种-->
 7                 <ResourceDictionary x:Key="Default">
 8                     <SolidColorBrush x:Key="Color" Color="Aqua"/>
 9                 </ResourceDictionary>
10                 <!--Dark是固定值,深色主题状态-->
11                 <ResourceDictionary x:Key="Dark">
12                     <SolidColorBrush x:Key="Color" Color="Red"/>
13                 </ResourceDictionary>
14                 <!--Light是固定值,浅色主题状态-->
15                 <ResourceDictionary x:Key="Light">
16                     <SolidColorBrush x:Key="Color" Color="Green"/>
17                 </ResourceDictionary>
18                 <!--HighContrast是固定值,高对比主题状态-->
19                 <ResourceDictionary x:Key="HighContrast">
20                     <SolidColorBrush x:Key="Color" Color="Blue"/>
21                 </ResourceDictionary>
22             </ResourceDictionary.ThemeDictionaries>
23         </ResourceDictionary>
24     </Page.Resources>
25     <StackPanel>
26         <!--ThemeResource可以实时的根据主题变化而选择不同资源,动态读取,不断侦测,消耗资源、性能、电量,效率低-->
27         <Button Background="{ThemeResource Color}" Content="ThemeResource"/>
28         <!--StaticResource应用启动时选择不同资源,用于引用静止不动的资源(控件模版)效率高-->
29         <Button Background="{StaticResource Color}" Content="StaticResource"/>
30     </StackPanel>
时间: 2024-10-08 15:10:03

Windows Phone 三、样式和资源的相关文章

Win32 Windows编程 三

一.NMAKE 和 Makefile 1.1  NMAKE - 命令解释器, 根据Makefile文件中定义的脚本,完成项目的编译等操作 1.2 Makefile - 定义编译.连接等脚本语言 1.3 Makefile 文件的使用 1.3.1 基本语法规则 window.exe:window.obj //依赖行 cl.exe window.c /c   //命令行 link.exe window.obj user32.lib window.exe 的依赖项是window.obj,如果window

Windows 7 帮助和支持资源—第三方软件

1.Sisoftware Sandra Utilities 提供windows的系统信息和诊断 www.sisoftware.net 2.Windows Sysinternals 微软的工具和应用程序包 www.sysinternals.com 3.Zinstall zPOD 将系统和应用程序制成镜像 www.zinstall.com 4.GoToAssist 用于Apple机器,远程桌面和协助 www.gotoassist.com 5.SpinRite 报告导致功能异常和数据丢失的磁盘错误(物

Windows 7 帮助和支持资源—第三方网站

1.Tom's Hardware www.tomshardware.com 2.Tech PC Forums www.tech-pc.com 3.Computing.net www.computing.net 4.How-To Geek www.howtogeek.com 5.Annoyances.org www.annoyances.org 6.Gibson Research www.grc.com 7.ATI Support support.amd.com 8.nVidia Support

攻城狮在路上(贰) Spring(三)--- Spring 资源访问利器Resource接口

Spring为了更好的满足各种底层资源的访问需求.设计了一个Resource接口,提供了更强的访问底层资源的能力.Spring框架使用Resource装载各种资源,包括配置文件资源.国际化属性文件资源等.一.Resource接口的主要方法有: boolean exists():资源是否存在. boolean isOpen():资源是否打开. URL getURL():如果底层资源可以表示为URL,该方法返回对应的URL对象. File getFile():如果底层资源对应一个文件,该方法返回对应

windows 程序设计自学:添加图标资源

1 #include <windows.h> 2 #include "resource.h" 3 4 LRESULT CALLBACK MyWndProc( HWND hwnd, // handle to window 5 UINT uMsg, // message identifier 6 WPARAM wParam, // first message parameter 7 LPARAM lParam // second message parameter 8 ); 9

Vue音乐播放器(三):项目目录介绍,以及图标字体、公共样式等资源准备

我们所有的开发都是基于修改src下面的目录 里面的文件去做开发即可 stylus的使用是需要下载stylus-loader的包的 渲染效果 配置修改eslintrc.js 配置了webpack.base.conf.js文件下的别名就可以通过绝对路径来引入 注意配置别名!! 原文地址:https://www.cnblogs.com/cmy1996/p/9152441.html

WPF样式和资源2

<Window.Resources> <FontFamily x:key="ButtonFontFamily">Time New Roman</FontFamily> <sys:Double x:key="ButtonFontSize">18</s:Double> <FontWeight x:key="ButtonFontWeight">Bold</FontWeight

Windows Server 群集节点和资源监视

群集节点监视 如果将群集资源类比为鸡蛋,那么群集节点类似于装有鸡蛋的篮子,篮子本身的完整决定着里面所装的鸡蛋的安全性.群集节点首先要决定自己是否存活,所以群集节点之间定期使用心跳来判断所有群集节点是否处于健康状态.群集的可用性目标因提供的服务的要求而异,不同服务等级要求的应用对故障恢复时间要求也不同,对健康检测严格要求也不同.同理,可用性要求越高的服务,对检测节点故障和采取后续行动进行恢复的速度越快,可用性要求不高的服务,对于故障恢复时间的容忍也相对要长.鉴于此,Windows Server群集

windows phone8.1样式

就像在html中使用css一样,在XAML元素中应用style可以对界面进行美化. 在控件Resource属性里面创建样式 <StackPanel> <StackPanel.Resources> <Style x:Key="commonStyle" TargetType="Button"> <Setter Property="Width" Value="200"></Set