WEB开发网
开发学院图形图像Flash Silverlight(12) - 2.0外观之样式, 模板, 视觉状态... 阅读

Silverlight(12) - 2.0外观之样式, 模板, 视觉状态和视觉状态管理器

 2008-11-14 11:50:26 来源:WEB开发网   
核心提示: 模板(Template.xaml)<UserControl x:Class="Silverlight20.Appearance.Template"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pr

模板(Template.xaml)

<UserControl x:Class="Silverlight20.Appearance.Template"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel HorizontalAlignment="Left">
  
    <StackPanel.Resources>
  
      <!--容器内模板 - 所属容器内可引用-->
      <!--
      ControlTemplate - 自定义控件模板。用于修改控件的外观。各个控件的默认模板可参见文档
        x:Key - 唯一标识
        TargetType - 目标对象类型
      ContentPresenter - 用于显示继承自 System.Windows.Controls.ContentControl 的控件的内容
      TemplateBinding - 绑定到所指定的属性名称
      -->
      <ControlTemplate x:Key="templateTestInContainer" TargetType="Button">
        <Border BorderBrush="Red" BorderThickness="1">
          <Grid Background="{TemplateBinding Background}">
            <ContentPresenter HorizontalAlignment="Right" />
          </Grid>
        </Border>
      </ControlTemplate>
  
      <!--样式内设置模板 - 指定了样式即指定了样式内的模板-->
      <Style x:Key="templateTestInStyle" TargetType="Button">
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="Button">
              <Border BorderBrush="Red" BorderThickness="1">
                <Grid Background="{TemplateBinding Background}">
                  <ContentPresenter HorizontalAlignment="Right" />
                </Grid>
              </Border>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
      </Style>
  
    </StackPanel.Resources>
  
    <!--全局模板的应用-->
    <Button Width="200" Margin="5" Content="我是Button(全局模板的应用)" Background="Yellow" Template="{StaticResource templateTestApp}" />
  
    <!--容器内模板的应用-->
    <Button Width="200" Margin="5" Content="我是Button(容器内模板的应用)" Background="Yellow" Template="{StaticResource templateTestInContainer}" />
  
    <!--样式内模板的应用-->
    <Button Width="200" Margin="5" Content="我是Button(样式内模板的应用)" Background="Yellow" Style="{StaticResource templateTestInStyle}" />
  
    <!--内联式模板的应用-->
    <Button Width="200" Margin="5" Content="我是Button(样式内模板的应用)">
      <Button.Template>
        <ControlTemplate>
          <Border BorderBrush="Red" BorderThickness="1">
            <Grid Background="Yellow">
              <ContentPresenter HorizontalAlignment="Right" />
            </Grid>
          </Border>
        </ControlTemplate>
      </Button.Template>
    </Button>
  </StackPanel>
</UserControl>

上一页  1 2 3 4 5 6  下一页

Tags:Silverlight 外观 样式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接