• silverlight全局(App.xaml)和局部样式汇总【转载】


    http://www.cnblogs.com/malin/archive/2010/04/19/1715627.html

    silverlight全局(App.xaml)和局部样式汇总

    1、内联方式--即直接在控件内部利用其属性进行设置
    复制代码
    <UserControl x:Class="RemoveTextBoxBorder.Page"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        Width="400" Height="300">
        <Grid x:Name="LayoutRoot" Background="White">
            <Button Content="Button" Height="75" Width="125" BorderBrush="Green" Foreground="Blue" />
        </Grid>
    </UserControl>
    复制代码

     

      2、全局方式--在 App.xaml Resources 文件中进行定义

      当你在VS2008中创建Silverlight项目中,你会得到一个名叫 "App.xaml"的文件,此文件格式如下:

    复制代码
    <Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
                 x:Class="RemoveTextBoxBorder.App"
                 >
        <Application.Resources>
        </Application.Resources>
    </Application>

      在此文件中你可以定义自己的样式,定义样式采用如下格式:

     <Style x:Key="样式名" TargetType="样式所针对的控件类型"> 
       <Setter Property="控件属性名" Value="控件属性值" />
     </Style>

      在本示例中我们在此文件加入如下样式定义,加入后的App.xaml文件内容如下

    <Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
                 x:Class="RemoveTextBoxBorder.App"
                 >
        <Application.Resources>
            <Style x:Key="ButtonStyleOne" TargetType="Button">
                <Setter Property="BorderBrush" Value="Green" />
                <Setter Property="Foreground" Value="Blue" />
                <Setter Property="BorderThickness" Value="4,4,4,4" />
            </Style>
            <Style x:Key="ButtonStyleTwo" TargetType="Button">
                <Setter Property="BorderBrush" Value="Blue" />
                <Setter Property="Foreground" Value="Green" />
            </Style>
        </Application.Resources>
    </Application>
    复制代码

      然后我们在控件的XAML文件中引用所定义的样式

    复制代码
    <UserControl x:Class="RemoveTextBoxBorder.Page"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        Width="400" Height="300">
        <Grid x:Name="LayoutRoot" Background="White">
            <Button Content="Button" Height="75" Width="125" Style="{StaticResource ButtonStyleOne}"  />        
        </Grid>
    </UserControl>
    复制代码

     

      3、在 C#代码中动态设置控件样式

      为了在代码中引用此控件,我们必须要为此控件命名,在此我们命名为"MyButton"

      <Button x:Name="MyButton" Content="Button" Height="75" Width="125" />    

      然后在Page.xaml的code-behind 文件中,在其构造函数中加入如下代码:

      MyButton.Style = Application.Current.Resources["ButtonStyle"] as Style;

      后台代码如下:  

    复制代码
    public partial class Page : UserControl
        {
            public Page()
            {
                InitializeComponent();
                MyButton.Style = Application.Current.Resources["ButtonStyleOne"] as Style;
            }
        }
    复制代码

     

    字体-----------------------------------------------------

     

    1 在Silverlight项目上单击右键,选择“添加”——“现有项”,在此将您要使用的字体文件添加到项目中;在这里,我添加一个华文行楷体文件,STXINGKA.TTF,字体的英文名称(可以到注册表中查)为STXingkai
    2 在添加好的字体文件上右键单击,选择“属性”;

        从这里开始,有两种做法:

    一 将“复制到输出目录”属性值改为“如果较新则复制”,将“生成操作”属性值改为“内容”;使用字体时,代码如下:

    格式:  /字体文件名#字体英文名
    例如:<TextBlock FontFamily="/STXINGKA.TTF#STXingkai" Text="尚未加载章节信息"/>

    二 将“复制到输出目录”属性值改为“不复制”,将“生成操作”属性值改为“Resource”;使用字体时,代码如下:

    格式:  字体文件名#字体英文名
    例如:<TextBlock FontFamily="STXINGKA.TTF#STXingkai" Text="尚未加载章节信息"/>

     

    五月营销软件:五月论坛营销软件、五月百度知道全自动问答软件
  • 相关阅读:
    深度学习笔记(18)- 深度终端之一
    深度学习笔记(17)- 深度系统监视器
    深度学习笔记(16)- 深度商店
    深度学习笔记(15)- 深度文件管理器之三
    深度学习笔记(14)- 深度文件管理器之二
    深度学习笔记(13)- 深度文件管理器之一
    深度学习笔记(12)- 窗口管理器
    深度学习笔记(11)- 控制中心之系统信息与更新设置
    思考设计SQL优化方案
    左手VS PK 右手IDEA
  • 原文地址:https://www.cnblogs.com/xlyg-14/p/4146594.html
Copyright © 2020-2023  润新知