zoukankan      html  css  js  c++  java
  • WP7中资源和样式

    WP7中中的资源概念比较泛化,我们这里说的资源主要是控件内同质化的属性

    比如要对很多控件设置相同的颜色,字体大小,画刷等等属性,如果每个控件单独设置会有大量重复的工作,使用资源可以解决这个重复的问题,

    也相当于html中的css的style样式。

    但是在style的之前还有一个先决条件就是共享机制:资源resource。

    1.资源

    资源是共享的,很多类不能定义为资源,比如某些控件Textblock的单个实例是不允许多次使用的,因为在程序中他有唯一的Name,从UIElement派生的都不能共享成资源。

    资源可以定义在Page页面级别上,在页面上可用,定义在App级别上,整个应用程序可用,定义的位置不同, 作用范围也不同

    定义:

     <phone:PhoneApplicationPage.Resources>
            <LinearGradientBrush x:Key="brush">
                <GradientStop Offset="0" Color="Pink"></GradientStop>
                <GradientStop Offset="1" Color="SkyBlue"></GradientStop>
            </LinearGradientBrush>
        </phone:PhoneApplicationPage.Resources>

    应用:

    <HyperlinkButton NavigateUri="/Page1.xaml" Height="80"  Foreground="{StaticResource brush}">GoToPage1</HyperlinkButton>
    <Button x:Name="btn1" Click="btn1_Click"  Content="Button1" Background="{StaticResource brush}"></Button>

    在cs代码直接使用Resource["key"]来使用,记得要转换成相应的net对象。


      可以使用X:key。也可以使用X:Name来定义资源。

    不同的是,使用X:Name必须是唯一的,使用X:key在一个范围内必须唯一,但是在小范围之外是可以重复。

    关键在cs代码方法如果是X:Name,可以直接把name当作cs的对象来使用,但是如果是key,必须使用this.Resources["brush"];来获得属性

    2.样式Style

    样式Style基本是为特定的元素类型分配的属性集合,除了有Key外,还有一个TargetType属性,设置作用的控件类型。

    定义:

    <Style x:Key="btnStyle" TargetType="Button">
                <Setter Property="HorizontalAlignment" Value="Center"></Setter>
                <Setter Property="Foreground" Value="{StaticResource brush}"></Setter>
                <Setter Property="Width" Value="400"></Setter>
            </Style>

    使用:

     <Button x:Name="btn1" Click="btn1_Click"  Content="Button1" Style="{StaticResource btnStyle}"></Button>


    样式的继承使用Baseon={StaticResource btnStyle}

    继承父样式以后,可以直接使用父样式中的定义,如果有重复的定义,子样式会覆盖父样式的内容


      

  • 相关阅读:
    由于媒体16摘要天
    vim note (2)
    JEECG 什么是商业版本的功能最近添加的好友?
    图解linux启动过程
    Error: unrecognized flag -version
    基于RDP瘦客户机协议的简要说明
    Android在网络上分析获取图片(支持bmp格式)
    [React] Validate Custom React Component Props with PropTypes
    [Python] Wikipedia Crawler
    [Python] Python list slice syntax fun
  • 原文地址:https://www.cnblogs.com/zjypp/p/2339321.html
Copyright © 2011-2022 走看看