zoukankan      html  css  js  c++  java
  • Windows Phone 为指定容器内的元素设置样式

    在Windows Phone中设置元素样式有多种
    拿TextBlock来说
    1、我们可以直接在控件上设置:
      <TextBlock  Text="自身样式设置"  Width="270" FontSize="20" Foreground="#FF6B6A6A"/>
    2、也可以这样:在页面的静态资源中设置
    <phone:PhoneApplicationPage.Resources>
            <Style TargetType="TextBlock"  x:Name="NomalStyle" >
                <Setter Property="Foreground" Value="#FF6B6A6A" ></Setter>
                <Setter Property="TextTrimming" Value="WordEllipsis"></Setter>
                <Setter Property="Width" Value="270"></Setter>
                <Setter Property="FontSize" Value="20"></Setter>
            </Style>
    
    </phone:PhoneApplicationPage.Resources>
    <!--通过Style属性设置样式-->
    <TextBlock Text="通过Style设置样式"  Style="{StaticResource NomalStyle}"  />
    <!--通过Style属性设置样式,增加或修改样式-->
    <TextBlock Text="通过Style设置样式,但FontSize属性以我为准,我又比样式多了Margin属性"  Style="{StaticResource NomalStyle}" FontSize="50" Margin="12,0" />
    3、如果要设置当前页面的所有TextBlock的公共样式的话,可以将上述的x:Name去掉便可,所在页面的TextBlock都会使用页面资源里设置的样式
    <phone:PhoneApplicationPage.Resources>
            <Style TargetType="TextBlock">
                <Setter Property="Foreground" Value="#FF6B6A6A" ></Setter>
                <Setter Property="TextTrimming" Value="WordEllipsis"></Setter>
                <Setter Property="Width" Value="270"></Setter>
                <Setter Property="FontSize" Value="20"></Setter>
            </Style>
    
    </phone:PhoneApplicationPage.Resources>
    <!--使用页面样式资源设置样式-->
    <TextBlock Text="使用页面样式资源设置样式,我与下边的文本一样" />
    <TextBlock Text="使用页面样式资源设置样式,我与上边的文本一样" />
    
    
    <!--使用页面样式资源设置样式,增加或修改样式-->
    <TextBlock Text="使用页面样式资源设置样式,但我与上边的不一样,但FontSize属性以我为准,我又比样式多了Margin属性"  FontSize="50" Margin="12,0" />
    4、如果整个项目中都想使用,那么就将2或者3中介绍的资源放在App.Xaml中的 <Application.Resources> </Application.Resources>的节点中
    5、局部样式怎么设置呢?比如:设置StackPanel中的所有TextBlock的样式,除了用上述2的方法设置Style之外还有什么方法呢?由方法2可发现,Style放在页面资源中,那么是否能将Style放在StackPanel的内部资源中呢,经过实现是可以的
    <StackPanel>
        <StackPanel.Resources>
            <Style  TargetType="TextBlock">
                <Setter  Property="Foreground" Value="#FF6B6A6A" ></Setter>
                <Setter Property="Width" Value="37"></Setter>
                <Setter Property="FontSize" Value="27"></Setter>
                <Setter Property="Margin" Value="0"></Setter>
                <Setter Property="TextWrapping" Value="Wrap"></Setter>
                <Setter Property="TextAlignment" Value="Center"></Setter>
            </Style>
        </StackPanel.Resources>
        <TextBlock Text="我使用的是StackPanel内部的样式,不受全局样式资源文件控制" />
        <TextBlock Text="我使用的是StackPanel内部的样式,不受全局样式资源文件控制" /> 
    </StackPanel>
     以上为个人观点,如有问题,请指正。
  • 相关阅读:
    路径总和 III(力扣第437题)
    HBase的存储文件合并(StoreFile Compaction)、Region Split
    二叉树的层平均值、 找树左下角的值(力扣第637题、513题)
    HBase的读写数据流程
    HBase的内存数据刷写MemStore Flush
    翻转二叉树、合并二叉树(力扣第226、617题)
    最长同值路径(力扣第687题)
    CSS字体动态炫彩样式代码
    Redis基础
    MySQL数据库基本操作【3】
  • 原文地址:https://www.cnblogs.com/lollipop/p/4534671.html
Copyright © 2011-2022 走看看