2011年5月10日星期二

  SilverLight样式表继承

SilverLight样式表继承与Css样式表继承很相似,只不过是语法结构不同而已。SilverLight功能更强大。

还是举最简单的例子,开启这扇大门:

新建文件:

\Style\Main.xaml:

<ResourceDictionary

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation">

    <Style x:Key="button1" TargetType="Button">

        <Setter Property="Background" Value="Black"/>

        <Setter Property="Foreground" Value="Blue"/>

        <Setter Property="Margin" Value="20"/>

    </Style>

</ResourceDictionary>

  

APP.xaml:

<Application.Resources>

        <ResourceDictionary>

            <ResourceDictionary.MergedDictionaries>

  

<!--引用外部样式表-->

                <ResourceDictionary Source="Style/Main.xaml"></ResourceDictionary>

                </ResourceDictionary.MergedDictionaries>

  

                 <!--在这里也可定义其它样式表例如-->

                  <Style x:Key="button2" TargetType="Button"  BasedOn="{StaticResource button1}">

            <Setter Property="Foreground" Value="Red"/>

        </Style>

        </ResourceDictionary>

</Application.Resources>

  

MainPage.xaml

 <UserControl.Resources>

        <Style x:Key="button3" TargetType="Button" BasedOn="{StaticResource button2}">

            <Setter Property="FontSize" Value="99"/>

        </Style>

 </UserControl.Resources>

  

<Button Content="Button" Style="{StaticResource button3}"  HorizontalAlignment="Left" VerticalAlignment="Top" />

  

  

运行结果可以看到所有样式都加载到Button中。OK!

继承顺序:

Main.xaml--APP.xaml--MainPage.xaml

  

从 <http://www.cnblogs.com/caixiaodong/archive/2010/07/03/1770375.html> 插入

没有评论:

发表评论