WP8开发(3)--------------使用StaticResource给控件定义公共的样式和属性来写界面XAML

一:效果图

二:定义公共的样式和属性

在MainPage.xaml中
<phone:PhoneApplicationPage.Resources>
        <SolidColorBrush x:Key="MyBrush" Color="Brown"/>
        <Style TargetType="Button" x:Key="MyButtonBackground">
            <Setter Property="Background" Value="Blue"/>
        </Style>
    </phone:PhoneApplicationPage.Resources>
    
在App.xaml中,下划线部分
 <!--应用程序资源-->
    <Application.Resources>
        <local:LocalizedStrings xmlns:local="clr-namespace:XAMLResources" x:Key="LocalizedStrings"/>
        <Style x:Name="MyTitleText"
               BasedOn="{StaticResource PhoneTextBlockBase}"
               TargetType="TextBlock">
            <Setter Property="FontFamily"
                    Value="Verdana"/>
            <Setter Property="FontSize"
                    Value="64"/>
        </Style>
    </Application.Resources>
MainPage.xaml的全部代码
<phone:PhoneApplicationPage
    x:Class="XAMLResources.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    shell:SystemTray.IsVisible="True">

    <phone:PhoneApplicationPage.Resources>
        <SolidColorBrush x:Key="MyBrush" Color="Brown"/>
        <Style TargetType="Button" x:Key="MyButtonBackground">
            <Setter Property="Background" Value="Blue"/>
        </Style>
    </phone:PhoneApplicationPage.Resources>

    <!--LayoutRoot 是包含所有页面内容的根网格-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!--TitlePanel 包含应用程序的名称和页标题-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock Text="红马車" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
            <TextBlock
                Text="hongmaju"
                Margin="9,-7,0,0" Style="{StaticResource MyTitleText}"/>--------------使用了App.xaml中定义公共样式
        </StackPanel>

        <!--ContentPanel - 在此处放置其他内容-->
        <StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Button
                Height="200"
                Width="150"
                Background="{ StaticResource MyBrush }" >
            </Button>
            <Button
                Height="200"
                Width="150"
                Style="{StaticResource MyButtonBackground}">
            </Button>
            <ListBox
                Height="150"
                Width="200"
                Background="{StaticResource MyBrush}">

            </ListBox>

        </StackPanel>
    </Grid>

</phone:PhoneApplicationPage>

三:将定义的公共样式和属性直接使用在相应控件位置的快捷方式(如下图)

时间: 2024-08-28 15:52:12

WP8开发(3)--------------使用StaticResource给控件定义公共的样式和属性来写界面XAML的相关文章

visual studio开发工具的C#主流控件属性一览表

visual studio开发工具的C#主流控件属性一览表 详细的介绍了各控制属性的详细中文介绍 C#控件及常用设计整理 1.窗体 1.常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来获取或设置窗体的窗口状态. 取值有三种: Normal (窗体正常显示). Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示). (3)StartPosition属性:用来获取或设置运

Qt开发环境中使用报表控件FastReport遇到的一些问题(二)

上一节中谈到的那个问题:传递的变量内容如果是纯英文,报表报错.经笔者反复测试,找到了解决办法:代码中第5行替换为以下 params<<"my_var"<<"\"xyz\""; 在内容前后用\"把内容括起来,在把报表设计器中Code页的语言设置为非PascalScript就好了. Qt开发环境中使用报表控件FastReport遇到的一些问题(二),布布扣,bubuko.com

iOS开发项目篇—43子控件的细节处理

iOS开发项目篇—43子控件的细节处理 一.升级UI 把之前的UI图片删除,换上新的图片(图片命名一致,规范)没有其他的影响. 删除之后,添加. 替换之后,做一次clear操作. 建议把沙盒中的包删除,删除之后再做一次clear操作. 二.调整转发(模块) 1.设置背景(使用提供的素材图片进行平铺) 为转发微博部分设置背景,考虑到这个部分整体上是一个UIView,可以尝试以下设置. 第一种尝试: 但是这样设置,因为图片是平铺的,所以整个背景会出现线条效果,影响显示,不可行. 第二种尝试: 注意:

XE8开发安卓之二:按钮和 TEdit 控件的几个常用的属性

按钮和 TEdit 控件的几个常用的属性 Android程序开发必然要用到按钮,按钮的一个比较重要的属性就是 StyleLookup,预置了一系列常用的图标样式,美工不好的,可要多加利用啊,如下图: 另外 2 个常用属性就是 GroupName 和 IsPressed:一组按钮取一个相同的 GroupName,控制其中只能有一个被按下. 按钮的分布一般有以下几种形式: 1.自由摆放,也就是在Form上自由放置. 2.放置在TGridLayout控件中,由TGridLayout自动排列,通过 It

我的开发助手之时间线控件

数年前因为某个原因,开始编写的我的开发助手,一路艰辛,一路坚持,目前仍不断完善之中,项目地址:https://gitee.com/sqlorm/DevelopAssistant 欢迎大家点赞和支持. 今天想和大家分享一下其中的时间线控件,这是一个通过GDI绘制和对原有事件重写来实现的用户自定义控件,界面还算美观,操作也很简捷,喜欢的同学不妨收下. 控件是这样子的: ? 没有内容时界面 ? 管理界面带编辑功能界面 下面就来介绍一下关于这个控件的开发: 第一步.我们创建一个类继承 UserContr

IOS开发UI篇--常用UI控件的基本使用

一. UIButton概述: UIKit框架提供了非常多的UI控件,其中有些控件天天使用,比如UIButton.UILabel.UIImageView.UITableView等. UIButton,俗称“按钮”,通常点击某个控件后,会做出相应反应的都是按钮.按钮的功能较多,既能显示图片又能显示汉字还能随时调整图片的文字和位置,如下面两个图 团购和音乐播放器的app: 下面本文通过一个实例总结一下它们的基本使用. 二. 按钮的基本设置 按钮既可以通过mainstoryboard创建也可以通过代码创

在ASP.NET 的服务器端控件中有三种关于 ID 的属性

在ASP.NET 的服务器端控件中有三种关于 ID 的属性,即 ID, ClientID 和 UniqueID. ID 表示控件的服务器端编程的标识符,我们写"服务器端的代码",就要用到这个 ID, 通过这个 ID 可以在服务器端对服务器端控件的属性.方法和时间进行编程访问.(可写) ClientID 表示由服务器端生成的客户端控件的ID,"经常用于在客户端脚本中访问服务器控件所呈现的 HTML 元素".一般情况下与服务器端的 ID 相同,有时,不能为控件生成唯一的

Android动态布局,并动态为TextView控件设置drawableLeft、drawableRight等属性添加图标

注:(图中每一个条目和图标都是由代码动态生成) 代码动态布局,并需要为每一个条目设置图标,此时用到了 android:drawableLeft="@drawable/icon"  父xml文件: [html] view plaincopyprint? <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.andr

MFC的组合框(ComboBox)控件切换下拉样式

由于课题的需求需要做MFC串口程序,看了百度下载的串口助手的界面风格,发现这个设计很好 波特率的组合框只给出了5个可选数值,然后第6个选项是Custom,即手动输入. 实际上DCB结构的BaudRate可选数值太多了,做成下拉框会很长很长,这种做法就是选用最常见的几个选项,不需要用户手动输入,也不需要在很长的列表中去选择. 从VS的属性框中可以看到,组合框控件有3种样式,也就是实现的功能是点击Custom选项时从Drop List切换到Dropdown. 从MSDN可以看到两者对应的宏分别为CB