WPF 模板改写规范

模板改写规范示例:直接写在控件之中的样式规范;

改写Button模板,绿色部分固定的; 紫色部分是改写模板View;红色部分是模板触发器(数据触发器)

<Button Width="30" Height="30">
    <Button.Style>
          <Style TargetType="Button">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                         <Viewbox Width="30" Height="30">//模板改写
                            
                        </Viewbox>
                         <ControlTemplate.Triggers>//模板触发器
                             <DataTrigger Binding="{Binding IsActive}" Value="true">//绑定属性IsActive 触发 数据触发器
                                <DataTrigger.EnterActions>
                                    <BeginStoryboard x:Name="sb">
                                        <Storyboard >
                                            <DoubleAnimation RepeatBehavior="Forever" Storyboard.TargetName="imageRefresh" Storyboard.TargetProperty="Angle" To="360" Duration="0:0:3"/>
                                        </Storyboard>
                                    </BeginStoryboard>
                                </DataTrigger.EnterActions>
                                <DataTrigger.ExitActions>
                                    <StopStoryboard BeginStoryboardName="sb"/>
                                </DataTrigger.ExitActions>
                             </DataTrigger>
                         </ControlTemplate.Triggers>
                     </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Button.Style>
</Button>
**************************************************************************************************************
控件触发器模板:Border 的IsMouseOver属性触发器
<Border  Margin="10,0" >
    <Image Width="32" Height="32" Stretch="Uniform" Source="Pack://application:,,,/RealStomach_WPF;component/Resources/Other/into.png"
           cal:Message.Attach="[Event MouseLeftButtonUp] = [Action Enter_Application($view, $eventArgs)]"/>
    <Border.Style>
        <Style TargetType="Border">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="BorderBrush" Value="LightBlue"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Border.Style>
</Border

标红的部分是固定的格式

<Border  Margin="10,0" >
    <Image />
    <Border.Style>
        <Style TargetType="Border">
            <Style.Triggers>

                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="BorderBrush" Value="LightBlue"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Border.Style>

</Border>

**************************************************************************************************************
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值