zoukankan      html  css  js  c++  java
  • wpf中的触发器

    StyleControlTemplateDataTemplate 都具有 Triggers 属性,该属性可以包含一组触发器。某个属性值更改时,或某个事件引发时,触发器会相应地设置属性或启动操作(如动画操作)。

    这里说一个简单属性触发器

    在window中添加一个listbox
     <ListBox Name="l1" >
                <ListBoxItem>1111</ListBoxItem>
                <ListBoxItem>2222</ListBoxItem>
                <ListBoxItem>3333</ListBoxItem>
                <ListBoxItem>4444</ListBoxItem>
            </ListBox>

    然后在Window.Resources中添加一个触发器。触发器也是在样式中定义的
    刚开始listbox中各个项目透明度为01.选择用户透明度为1.0
    <Style TargetType="ListBoxItem">
                <Setter Property="Opacity" Value="0.1" />
                <Setter Property="MaxHeight" Value="75" />
                <Style.Triggers>
                    <Trigger Property="IsSelected" Value="True">
                        <Setter Property="Opacity" Value="1.0" />
                    </Trigger>
                </Style.Triggers>
            </Style>
    下面说说事件触发器
    EventTrigger 和 Storyboard

    它根据事件的引发来启动一组操作。下面的 EventTrigger 对象指定当鼠标指针进入 ListBoxItem 时,MaxHeight 属性在 0.2 秒时间内以动画方式增大为值 90。当鼠标离开该项时,该属性在 1 秒时间内还原为原始值

    <EventTrigger RoutedEvent="Mouse.MouseEnter"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation Duration="0:0:0.2" Storyboard.TargetProperty="MaxHeight" To="90" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> <EventTrigger RoutedEvent="Mouse.MouseLeave"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation Duration="0:0:1" Storyboard.TargetProperty="MaxHeight" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger>

    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    Bellman算法
    Codeforces Round #378 (Div. 2) D
    运算符优先级
    Kruskal算法
    Java 大数运算
    无根树转有根树
    欧拉函数模板
    HDU 4135 Co-prime(容斥原理)
    快速求n的质因子(数论)
    Markdown中插入数学公式
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319385.html
Copyright © 2011-2022 走看看