zoukankan      html  css  js  c++  java
  • 关于ControlTemplate 3

    1.ControlTemplate 就是我们常说的控件模板,主要用途是更改控件的外观,比如你要修改一个Button的形状是圆形的,改变背景颜色,定制动画效果等等。

    下面举例说明它的应用,一个简单的例子就是我们想把TabControl的tab页放在下面,那么就可以这样修改TabControl的style

     1     <Style TargetType="{x:Type TabControl}" x:Key="ButtomTab">  
     2             <Setter Property="Template">  
     3                 <Setter.Value>  
     4                     <ControlTemplate TargetType="{x:Type TabControl}">  
     5                         <Grid>  
     6                             <Grid.RowDefinitions>  
     7                                 <RowDefinition Height="*"/>  
     8                                 <RowDefinition Height="Auto"/>  
     9                             </Grid.RowDefinitions>  
    10                             <TabPanel Grid.Row="1" Panel.ZIndex="1" Margin="0" IsItemsHost="True" Background="Transparent" />  
    11                             <Border Grid.Row="0" Background="White" BorderThickness="1 0 1 0" CornerRadius="0" >  
    12                                 <ContentPresenter ContentSource="SelectedContent" />  
    13                             </Border>  
    14                         </Grid>  
    15                     </ControlTemplate>  
    16                 </Setter.Value>  
    17             </Setter>  
    18         </Style>  

    从代码中我们可以看到ControlTemplate 里面是一个Grid然后你可以布局它的TabPanel的位置,我们把TabPanel 的属性设置为Grid.Row="1" 这样就使得TabPanel 放在了内容 ContentPresenter 的下面 这样我们就可以得到一个tab页在下面的tabcontrol控件。

    另外在controltemplate里面还有个非常重要的概念就是trigger。

    为了方便大家写style 特别奉上wpf的style大全

    从此,妈妈再也不用担心我的wpf,哪里不会点哪里,so easy!

  • 相关阅读:
    [极客大挑战 2019]EasySQL CTF复现
    [极客大挑战 2019]Havefun (一起来撸猫) CTF复现
    一个简单漂亮的登录页面(前端)
    Python XPath的使用
    Python Requests的基本用法
    Linux配置jdk环境变量
    高性能 Java RPC 框架 Dubbo
    Zookeeper的配置文件及命令
    zookeeper怎么实现分布式锁
    Zookeeper-集群崩溃恢复
  • 原文地址:https://www.cnblogs.com/shawnzxx/p/2725618.html
Copyright © 2011-2022 走看看