码迷,mamicode.com
首页 > 其他好文 > 详细

属性触发器

时间:2016-06-19 11:39:56      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:

 4. 属性触发器

    使用触发器,可以动态修改控件的外观和操作方式,因为一些事件或属性值改变了。例如用户在按钮上移动鼠标,按钮就会改变其外观。通常,这必须在C#代码中实现,但使用WPF也可以用XAML实现,而这只会影响UI。

    下面首先介绍属性触发器

 <Style x:Key="TextBoxStyle" TargetType="{x:Type TextBox}">
        <Setter Property="Background" Value="LightBlue"/>
        <Setter Property="FontSize" Value="17"/>
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background">
                        <Setter.Value>
                            <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                                <GradientStop Offset="0" Color="LightBlue"/>
                                <GradientStop Offset="0.4" Color="Cyan"/>
                                <GradientStop Offset="0.8" Color="LightCyan"/>
                            </LinearGradientBrush>
                        </Setter.Value>
                    </Setter>
                    <Setter Property="FontSize" Value="22"/>
            </Trigger>
            <Trigger Property="IsKeyboardFocused" Value="True">
                <Setter Property="Background" Value="Yellow"/>
                <Setter Property="FontSize" Value="22"/>
            </Trigger>
        </Style.Triggers>
    </Style>
    </Window.Resources>
    <Canvas>
        <TextBox Canvas.Top="80" Canvas.Left="30" Width="200" Style="{StaticResource TextBoxStyle}"/>
        <TextBox Canvas.Top="120" Canvas.Left="30" Width="200" Style="{StaticResource TextBoxStyle}"/>
    </Canvas>

  Style类中有一个Triggers属性,通过它可以指定属性触发器.

  在触发器的属性中赋予IsMouseOver Value设置True时触发Setter设置的属性内容

  将鼠标放置在TextBox上,呈现如下图.

  技术分享

属性触发器

标签:

原文地址:http://www.cnblogs.com/hdsong/p/5068267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!